История изменений
Исправление X512, (текущая версия) :
Но по факту алгоритм высвобождения через RAII обычно не тестируется, а потому частенько неожиданно переведит программу из одного некорректного состояния в другое некорректное состояние
Я обычно тестирую хотя бы раз весь написанный код. Написать throw
в середине кода и посмотреть что будет не сложно. Писать код, который ни разу не исполнялся – ошибочная практика.
Если бы RAII решала все баги на свете, то кодеры на C++ уже были бы самыми счастливыми людьми на свете
В C++ в отличии от Оберона есть UB и он не умеет кидать и обрабатывать исключения от разыменовывания NULL указателей и прочего. В Rust нет UB и казалось бы можно реализовать неубиваемость Оберона, но не осилили, он получился ещё более хрупким чем C++.
Исправление X512, :
Но по факту алгоритм высвобождения через RAII обычно не тестируется, а потому частенько неожиданно переведит программу из одного некорректного состояния в другое некорректное состояние
Я обычно тестирую хотя бы раз весь написанный код. Написать throw
в середине кода и посмотреть что будет не сложно. Писать код, который ни разу не исполнялся – ошибочная практика.
Если бы RAII решала все баги на свете, то кодеры на C++ уже были бы самыми счастливыми людьми на свете
В C++ в отличии от Оберона есть UB и он не умеет кидать и обрабатывать исключения от разыменовывания NULL указателей и прочего.
Исправление X512, :
Но по факту алгоритм высвобождения через RAII обычно не тестируется, а потому частенько неожиданно переведит программу из одного некорректного состояния в другое некорректное состояние
Я обычно тестирую хотя бы раз весь написанный код. Написать throw
в середине кода и посмотреть что будет не сложно. Писать код, который ни разу не исполнялся – ошибочная практика.
Исходная версия X512, :
Но по факту алгоритм высвобождения через RAII обычно не тестируется, а потому частенько неожиданно переведит программу из одного некорректного состояния в другое некорректное состояние
Я обычно тестирую хотя бы раз весь написанный код. Написать throw
в середине кода и посмотреть что будет не сложно.