Кажется, никто не поднимает вопрос о том, что в интересах вашей компании?
Часто, если не всегда, программисты являются просто сотрудниками, и, хотя управленческие решения могут нас расстроить, мы часто не имеем всех данных, которые они делают.
Например, скажем, что компания заключила контракт с условием, что если программное обеспечение не будет готово вовремя, вам не заплатят (это просто случилось с нами, хотя я думаю, что мы все-таки получили платеж). Да, чистый код важен, но важнее, чтобы код работал до дня оплаты!
Другой пример - у компании плохое финансовое положение, и ей нужно собрать немного денег. Угадайте, кого волнует качество? Вы можете исправить это позже, если вам нужно, просто отправьте его!
Аргументом может быть «Почему я должен продавать и писать дерьмовый код?». Ну, почему ваша компания должна платить вам хороший чек каждый месяц? Выборы, друг мой. Если вы после идеализма, попробуйте Free Software Foundation ; Я слышал, что они делают довольно крутые вещи (я имею в виду это, и я уважаю FSF и OSS).
С другой стороны, если вы работаете над проектом, в котором ожидается взрывной рост использования (хотя такие прогнозы почти никогда не бывают точными), вам лучше заложить какую-то прочную основу с наилучшим требуемым качеством кода, так как почти наверняка обслуживание будет быть большей стоимостью для проекта.
Программисты любят «чистый» код, что бы это ни значило. Мы даже не можем договориться о том, что чисто, но нам это нравится. Однако иногда это не так важно, как юзабилити и правильность. Это может показаться синонимом, но это не так - если вы видели код, написанный настоящим хакером Perl за 4 часа с намерением использовать его дважды и выбросить, вы признаете, что он не чистый, но он работает.
Поэтому иногда, не обращая внимания на эго, мы должны просто заставить его работать. Обратите внимание, что я не рекомендую писать плохой код как привычку; Я просто указываю, что это может быть необходимо. Совершенство требует времени, которого ваша компания может не иметь. Поэтому, если ваш работодатель не против, создайте программное обеспечение, но если вам нужно, просто напишите рабочий код, не обращайте внимания на «чистоту». Это просто ответ «Один размер подходит всем» - вы должны расставить приоритеты.