Показать сообщение отдельно
Старый 25.06.2017, 13:50   #3  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Как сказано в статье (а еще более подробно об этом в той, статье, на которую есть ссылка - про "ошибку последней строки"), основная проблема в том, что, как правило, сами условия простые и при просмотре кода взгляд их просто пропускает. Типа: что там смотреть и так все вроде правильно.
Если условие сложное, то его как-то анализируешь, часто разбиваешь на части (мне переменных не жалко), а вот простые условия ускользают от внимания.
Моей типичной ошибкой, почему-то, бывает не использование сравнения на неравенство, а сравнение равенством инвертированной переменной: вместо a != b, часто пишу !a == b. Ошибка совершенно идиотская, сложно сделать её, находясь в здравом уме, то делаю часто (как правило скопипастив другой вариант и изменив в новом месте).
Нередко ошибаюсь на объединении нескольких условий по && и || в одной проверке, особенно, если есть перенос условия на несколько строк.