Существуют моменты когда хочется перевести стрелки на баги языка, фреймворка или API какого нибудь ресурса, мол у меня идеальный код, а во всём виноват кто-то другой. Вот что думает по этому поводу Стив Макконнелл:
Одно из основных различий между любителями и профессиональными программистами — различие, появляющееся при переходе от суеверия к пониманию. Под суеверием я здесь понимаю не иллюзию, что программа выдаёт больше ошибок в полнолуние, а замену «прочувствования» программы и её пониманием. Если вы часто обнаруживаете, что подозреваете компилятор или аппаратные средства в ошибке, вы в плену суеверий. Давнишние исследования показали, что только около 5% всех ошибок связано с аппаратурой, компиляторами или ОС (Ostrand and Weyuker, 1984). Сейчас этот процент, видимо, ещё меньше. Программист, достигший сферы понимания, обращает внимание прежде всего на своё творение, являющееся потенциальным источником 95% ошибок. Нужно знать роль каждой строки своей программы. Ничто не может называться верным только потому, что выглядит работоспособным. Если вы не знаете, почему это работает, вероятно, оно и не работает на самом деле.
С. Макконнелл (Совершенный код)
Стараемся, думаем, учимся и превращаемся из любителей в профессионалы
