Oleg Atamanenko
Причин для написания плохого кода может быть несколько. Некоторые из них лежат на поверхности:
Невнимательность - через это проходят почти все. Почти каждый сможет вспомнить случай, когда не был сделан svn add перед коммитом. Эта проблема решается обычно самомотивацией человека на хороший код. Впрочем, команда и сервер непрерывной интеграции тоже прилагают усилия для того, чтобы человек проверил ещё раз то, что он хочет выложить в репозиторий.
Некомпетентность - эта причина пересекается с недостатком опыта, но, при этом отлична от неё. Адекватный разработчик, на мой взгляд, должен стремиться к компетентности в той области, в которой он работает. Но этого, к сожалению часто не происходит. На мой взгляд это из-за следующей причины.
Немотивированность. Самое большое зло, которое может быть. Причины недостаточной мотивации разработчика могут быть весьма разнообразными - не выспался, дома проблемы, зарплата низкая, задача скучная и неинтересная. Список можно продолжать до бесконечности. Решение этой проблемы кроется, в первую очередь, в качественном управлении. Менеджер должен быть тонким и хорошим психологом, чтобы видеть или чувствовать все эти проблемы и предотвращать их.
>когда не был сделан svn add перед коммитом.
хорошая среда разработки предупреждает разработчика о том, что он хочет сделать хуйню %)