На сайте Quora кто-то когда-то задал вопрос, чего на самом деле боятся программисты. Вот сборник их ответов. Дополняйте=).
• Ваш код (или баг в нем) случайно кого-то убил или искалечил;
• Internet Explorer (если вы — веб-дизайнер);
• Требования изменились. Опять!
• конфликт слияния (merge conflict) на GitHub
• Случайно набрал rm -rf * не в той директории. Это конец, братишка… :(
• Stack Overflow упал!
• Вы зашли на Stack Overflow и увидели чей-то пост с нужным вопросом. Пост опубликован год назад, а ответа так и нет…
• Вы достигли предела вопросов на Stack Overflow;
• Ошибка возникает только в релизе и не может быть воспроизведена локально;
• Вероятность бага низкая, но не настолько низкая, чтобы ею пренебречь;
• Причина ошибки включает в себя нарушение последовательности доступа (race condition), которое происходит только под нагрузкой.
• Причина бага неясна.
• Вы не написали код, содержащий ошибку, но ответственны за её исправление. А человек, который писал этот код, уже не с нами…
• Проблема, которая стала причиной бага, находится в библиотеке, надежной на 99.9%, и это последнее место, где вы будете искать её.
• Баг хардварный, но все считают его софтварным.
• «Было много смельчаков, пытавшихся отладить это в течение многих лет. Но никому не удалось это сделать»
• Баг является логической ошибкой, проявляющейся только во время выполнения после длительного периода.
• Отладка требует специальных знаний в области, о которой вы ничего не знаете.
• У вас есть жесткие временные рамки для исправления бага.
• Кнопка «;» перестала работать.
• Глядя на собственный неоткомментированный код вашего главного проекта спустя год после его написания, думать: "Как я это сделал?" and "Это точно мой код?". Чувство такое, что потерялся в собственном доме.
• Библиотека без документации.
• = instead of ==
• Чрезмерная самоуверенность. Недостаток подготовки. Недооценка сложности. "Мой код работает, и я не знаю, почему"
• Слишком много общения: митинги, митинги, митинги... порой это смертельно для работы самой работы.
• Необходимость длительного ожидания уточнений, если клиент живет в другом часовом поясе.
• Отсутствие всякой документации — лучше, чем наличие бесполезной. No documentation or much worse, useless documentation. (например, в ней описаны только очевидные вещи или вообще какой-то «левак»)
• Программа перестает отвечать на запросы из-за ошибки в какой-либо версии ОС, и к этой ошибке у вас нет и не будет доступа.
• Босс пытается тестировать приложение со старой версией.
• Клиент делает что-то невообразимое, и ваша программа останавливается. Вы не знаете, что он сделал, а менеджер говорить исправить «это» до завтра.
• Ваши варианты?
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ