CodeSOD: Проверка ошибок Заметка
The Daily WTF на русском

CodeSOD: Проверка ошибок

Кодовая база в основном написана на C, где возвращаемые значения функций обычно указывают на коды состояния. Стандартное соглашение заключается в проверке того, является ли булево возвращаемое значение истинным для обозначения успеха. Однако давний разработчик ввел запутанный альтернативный идиом. Этот разработчик проверяет, является ли булево возвращаемое значение ложным, чтобы обозначить ошибку. Эта практика стала преобладающей конвенцией в проекте из-за стажа разработчика. Следовательно, любое потенциальное условие ошибки включает проверку того, равно ли переменной с именем 'error' значению FALSE. Хотя эта конвенция последовательна в рамках своего собственного фреймворка, она формально не документирована. Новые разработчики часто сначала придерживаются стандартного шаблона. Однако огромный объем существующего кода с нестандартным шаблоном влияет на них. Эта устоявшаяся кодовая база обладает сильной инерцией, которая формирует новый код. Существующий код фактически диктует стиль разработки, а не разработчики, изменяющие код.