Потому что работа в стрессовой среде обязательно учит нас находить хорошие оправдания.

Создание приложений - не легкая прогулка. Когда ставки высоки, программисты часто сталкиваются с давлением на работе. Работа требует от них ответственности перед руководством и своими коллегами.

Это легко открывает окно, чтобы выдвинуть оправдания, которые иногда являются искренними, но часто могут быть сочтены смешными - могут быть вызваны неопытностью, изобретательностью или конкурентной и напряженной средой, в которой работают разработчики.

Независимо от языка программирования и технического стека, на котором вы специализируетесь, на каком-то этапе вы, вероятно, услышите следующие отговорки, которые временами могут подразумевать нечто совершенно иное.

Я не касался этого кода несколько недель

Да, верно, но я также недавно разбил его некоторыми изменениями.

Это странная проблема. Наверное, этого больше не повторится.

С тех пор, как я это сказал, прошел ноль дней.

Работает, но не тестировался

Конечно, не работает. Ожидайте массу ошибок, которые я назову «аппаратными проблемами».

Я забыл зафиксировать код, исправляющий это

Я до сих пор не реализовал эту функцию. Вскоре вы можете увидеть фиксацию WIP.

Он работает на моей машине

Блин, производственный код указывает на мой локальный хост. И я не запускал тестовые примеры для конкретной среды.

Код самодокументируется

Мне лень писать комментарии. Поднимите голову, вы можете увидеть спагетти.

Это не ошибка, это особенность

Вы, ребята, все время не обращали внимания на этот вопрос. Итак, теперь это особенность.

Это всего лишь временное решение

Написанный мною хак ужасен. И останется навсегда. Пока он снова не сломается.

Это не проблема кода. Наши пользователи нуждаются в дополнительном обучении.

Я не уделял внимания UX.

Нам нужно переписать этот код

Здесь много устаревшего. И мы не понимаем, как это работает.

Это проблема с вашим кешем

Я понятия не имею, что такое политика отсутствия кеширования.

У вас должна быть неправильная версия

Я еще не настроил процесс непрерывной интеграции. Позвольте мне быстро добавить исправления ко всем версиям.

Это проблема сети

Конечно, это не так. Мне нужно время, чтобы отладить эту проблему.

Проект все еще строится

Так было всего несколько минут назад. Немного расслабься, мне нужен перекур.

Этот код нарушает принципы дяди Боба.

Это не мой код. Итак, позвольте мне научить нескольким принципам чистого кода, которым я никогда не следовал.

Заключительные мысли

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

Вот и все. Спасибо за прочтение.