11

Почему говнокодят программисты, объяснение для строителей

В посте "Чужой код" @fentanilgalotan задал вопрос:

почему в программировании так часто говорят о костылях, говнокоде, каких-то велосипедах изобретенных, неужели нет никакого стандарта кодостроения, приемки этого кода?

Первый вариант ответа был недавно уже на Пикабу "Просто оцени правильно время заранее". Разумеется ему там отвечали развёрнуто и интересно и другие пикабушники


Я же предлагаю свою более длинную версию ответа со строительными аналогиями:


Представьте, что проектировщику (инженеру, конструктору) сказали спроектировать 2хэтажный коттедж. Это можно сказать ТЗ на проект и не более. В котором учтены в том числе язык программирования, фреймворки и прочее материалы. Потом его передают разработчикам джамшутам. На этом этапе вроде всё гладко. Джамшуты приступили к стройке. Заложили фундамент, начали выкладывать стены, но тут хозяин говорит: "хочу подземный паркинг". Ну дажмшуты разрыли ему яму, проломили одну стену фундамента и совместили с помощью говна и палок с тем, что было ранее уже построено, в общем наворотили первого говнокода. Выложили стены кое-как. И тут заказчик говорит, что надо подземный гараж на две машины, а ещё дизайнер ему посоветовал круглые окна. Ну джамшуты начали городить костыли, подпирать швабрами гараж, в итоге кое-как расширили. Старые проёмы окно они где-то подломали, где-то подложили но поставили круглые окна. Тут приходит заказчик и говорит, что ему не понравились круглые окна, они не так открываются и хочет треугольные. Джамшутам ничего не осталось, как с помощью опять говна и палок переделать окна. Сделали второй этаж, положили крышу. Заказчик вроде доволен. Параллельно конечно же прокладывали коммуникации: газовую трубу. отопление, проводку. Вроде продолжили всё согласно проекту. Приступили к отделке. Но тут оказалось, что заказчик хочет не люстру в центре комнаты, а по периметру светильники, газ оказывается не получилось подвести к дому и всё отопление надо переводить на электричество. В будущем может и подведут. Но пока дырку от трубы закрыли тряпками, провели временную проводку к бойлеру.

Почему говнокодят программисты, объяснение для строителей

И вот представьте. что такое постоянно, на каждом этапе. С отделкой тоже, то обои не понравились, то проем двери не там, мебель не встаёт, надо переносить. А главное: весь проект должен быть расширяемый, при чём расширяемый и переделываемый не только снаружи, но и изнутри.. Завтра заказчик может захотеть ещё и бильярдную с бассейном под гаражом. Стены дома из красного кирпича окажутся не в тренде и надо будет каким нибудь супер-пупер камнем выложить (не обложить). Потом его жена захочет... в общем в строительной теме даже фантазии не хватает придумать аналогий с теми, что бывают в программирование.


И всё это в один прекрасный момент может рухнуть! Времени и возможностей на переделку обычно нет. А часто ещё и "надо было вчера".


Разумеется в программирование очень много тоже джамшутов, которые криво кладут кирпич. Самоучек с самостроем. Но в программирование часто джамшут сам месит цемент, сам кладёт кирпичи и ставит окна, проводку и отделку дома. Вы часто встречали действительно специалистов сразу во всём? Думаю нет. Чаще всего есть специалист по кладке, спец. по электрике, по воде и так далее. В программирование часто это одни и те же люди. Разделение в основном идёт на фронтэнд (отделочники, они же электрики и прочее по отделке) и бэкэнд (каменщики и прочее по возведению коробки).


А проектировщики (те кто пишет ТЗ) и дизайнеры где-то отдельно и подключаются по необходимости.


Надеюсь понятно сравнил? А теперь вишенка на торте! Все технологии развиваются семимильными шагами. Новые инновационные материалы появляются не раз в год на выставках. А ежедневно! Ежедневно выпускаются новые материалы и инструменты с новыми характеристиками и спецификациями, ежедневно обновляются старые и постоянно надо быть в тренде. За год можно стать мамонтом. Те, кто программировал 20 лет назад - они уже сравнимы со строителями из соломы и глины, кто программировал 40 лет назад - сравнимы с теми, кто жил в пещерах (не в обиду ветеранам сказано).


Думаю хватит.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества