С тех пор как я впервые написал
if ($a = 5) {
# do something with $a, e.g.
print "$a";
}
и прошел обычную загадочную сессию
- почему результат всегда истинен
- почему $a всегда 5
пока я не понял, я назначил от 5 до $a вместо сравнения.
Итак, я решил написать такое условие выше, как
if (5 == $a)
Другими словами:
всегда располагайте постоянное значение в левой части оператора сравнения, что приводит к ошибке компиляции, если вы забудете добавить второй знак "=".
Я обычно называю это защитным кодированием и склонен считать его двоюродным братом в защитном программировании, но не в алгоритмическом масштабе, а ключевое слово по ключевому слову.
Какие защитные методы кодирования вы разработали?
Одна неделя спустя:
Большое "спасибо" всем, кто ответил или может добавить еще один ответ в будущем.
К сожалению (вернее, к счастью!) нет единого правильного ответа. Для этого мой вопрос заключался в широком вопросе, который больше интересовался мнениями или опытом, а не фактами.