Re[11]: Совсем отстой?
От: Sinix  
Дата: 10.11.16 17:34
Оценка:
Здравствуйте, ·, Вы писали:

·>Да нет жеж. Пиши, проверяй, ломай, но без ассертов. Заменяй ассерты чем-то другим. Почему ты считаешь их незаменимыми? Используй другие инструменты.

Дык какие же? Помимо юнит-тестов в смысле. Логгер — не вариант, очевидно. Кто за его выхлопом следить-то будет?

S>>Комбинацией из ассертов + интеграционными тестами такие вещи ловятся на раз-два. Кто ленится — получает вот
Автор: DreamMaker
Дата: 28.08.16
это
Автор: Pavel_Agurov
Дата: 12.01.15
в подарок.

·>В проде он ничего не получит, получит unspecified behaviour, т.к. по определению в проде ассерты отключаются.

Ну, это догматизм ненужный. Если разработчик решает отключить ассерты в продакшне (не выборочно, только тяжёлые, а вообще все) — то обвинять надо точно не ассерты.


·>А в дебаге он получит что-то лишь в том случае, если _догадается_ написать ассерт. А раз догадался написать ассерт — почему не написал тест?

Потому что далеко не всегда получается придумать способ нарушить ассерт на текущем коде, иногда это в принципе невозможно. "Что-то может пойти не так" постфактум. Я давал уже кучу примеров — и с локалью, которая появилась после написания кода, и с багом с "потерянным" часом в новом году, и с "неожиданной" обработкой путей с точкой в конце.

Как-ещё по вашему можно защищаться от подобных ошибок?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.