Стоит ли убивать в себе перфекциониста или кто же все таки прав?

21 Окт
2011

«я часть той силы, что вечно хочет блага, но пишет быдлокод»

Я довольно давно уже работаю web-программистом. Видел много разных компаний и команд. и Вот что так и не смог для себя понять и решил попробовать это обсудить с IT сообществом: с одной стороны мы имеем лагерь оголтелых евангелистов, которые декларируют «ООП людям!», «MVC во все поля!», «да прибудет с вами SCRUM» или «скажем НЕТ! хардкоду, костылям и прочему»; с другой стороны имеем, пожалуй даже больший по численности, лагерь людей, которые просто делают свою работу и говорят «говнокод? хм, зато это работает и приносит деньги мне и моей компании».

Я, конечно, не смогу сейчас достоверно доказать свои утверждения, но всё таки давайте попробуем разобраться. Все эти штуки достаточно очевидны, что бы их отрицать, как мне кажется.

Итак. Если бы мы смогли получить исходники крупнейших проектов, я уверен — там быдлокод. Даже не так — БЫДЛОКОДИЩЕ! Google, Яндекс, Twitter, Skype, Apple, Microsoft, Facebook и Вконтакте и т.д. Критические вещи вроде алгоритмов Гугла и Яндекса, по понятным причинам, вылизаны до блеска. Но всё остальное — слеплено лишь бы работало. Некогда Григорий Бакунов сам говорил что-то подобное о Яндексе.

Куда не пойди на собеседование — тебя прогонят по паттернам, тебя измучают вопросами об ООП, спросят про хай лоад, измучают вопросами по оптимизации, накроют задачами по MySQL и на всякий случай уточнят знаешь ли ты что такое Agile и Scrum. Ии ты, будучи не самым плохим специалистом, допустим справишься. И вот ты приходишь в эту компанию на работу и что ты видишь? Хардкод, костыли и прочее. К тебе приставляют человека, который должен помочь тебе со входом в проект. И вот он тебе показывает все, объясняет примерно так: «Мы хотели изначально сделать всё качественно. что бы и ООП, и MVC, и масштабируемо, и что бы сразу все оптимизировано. Но потом к нам пришёл дедлайн и поэтому у нас вот тут, тут и ещё вот здесь костыли накручены. Но ты не думай — это всё временно. а пока нужно что бы оно работало». И в итоге эти костыли кочуют из одной мажорной версии в другую, обрастают всё новыми костылями. И везде же так.

Может быть, конечно, в том же Киеве и найдется около пяти компаний, которые действительно пишут всё грамотно. Я надеюсь, что этих компаний есть хотя бы пять. Им повезло с заказчиками, дедлайнами и бюджетами. Но это пять компаний. А сколько их всего? Сотня? Две?

И вот вопрос: кто же всё таки прав?
Сперва кажется что евангелисты. Ну потому что они декларируют как «правильно» работать. Как грамотно и как лучше, пожалуй. А потом посмотришь на гигантов отрасли и понимаешь — их говнокод приносит миллионы. Windows? говнокод с первых строк. Unix системы — да туда же. Вы только вчитайтесь в исходники. Mac OS? подозреваю что так же, но выборку делать сложно — пользователи Apple, как правило, столкнувшись с багом считают что так задумано и молча терпят и ждут апдейтов. Да всюду. В том же Apache критический баг висит 7(семь!) лет.

Так что же делать? Убить в себе идеалиста, который хочет писать грамотный красивый код и молча делать «что бы работало» испытывая при этом сильное чувство вины перед самим собой? Ведь большинству заказчиков, по сути, не важно качество кода внутри продукта, если это работает ровно так, как они этого хотят. Или все таки продолжать «проповедовать» идеализм в разработке ПО, всячески стремясь увеличить численность лагеря евангелистов? Ведь чем их больше, тем быстрее станет возможным донести до заказчиков ПО что качество кода тоже важно.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх