@WhoMe

Что является основной причиной говнокода?

Как вы считаете что является основной причиной говнокода в коммерческих проектах?
Вопрос со звездочкой
Что такое говнокод?
  • Вопрос задан
  • 871 просмотр
Решения вопроса 3
dom1n1k
@dom1n1k
Тут как посмотреть. Непосредственных причин, которые приводят к говнокоду, может быть очень много:
1. Отсутствие внятной аналитики и архитектуры
2. Низкая квалификация исполнителей (он может и хотел бы сделать хорошо, но не знает и не умеет)
3. Говнокодеры по складу характера (есть такие люди, которым даже если создать все условия, все равно сделают на от****сь, потому что и так сойдет)
4. Недопонимание и сложные отношения в команде
5. Сроки (бывают заведомо нереалистичные, а бывают просранные в процессе)
6. Меняющиеся требования
7. Плохо выстроенные процессы (документация, тесты и пр)
8. Текучка кадров
9. Политика руководства
И тд и тп... Можно придумать ещё много пунктов.

Но в конечном итоге все эти причины можно свести к одной первопричине - плохой менеджмент. Хороший менеджмент это такой непонятный зверь... Трудно сформулировать, понять, организовать. Косяки не сразу видны и ощутимы, но потом выливаются в проблемы. Если у вас есть хороший менеджер проекта - он на вес золота.
Ответ написан
php10
@php10
Разработчик на PHP
Сроки сдачи проекта. Постоянно нужно сделать проект "вчера".

Меняется ТЗ на последнем этапе.

Большая текучка сотрудников. Большой срок проекта.

Отсутствие фреймворка.
Ответ написан
@McBernar
Кажется, основная причина говнокода, как и любой другой плохой работы — это когда делают абы как, потому что у исполнителя нет никакого желания развиваться в своей области, и он делает так, чтобы быстрее отделаться от работы, а не чтобы было все грамотно и правильно.

Если же говорить о корпоративном говнокоде, то там включаются в игру и другие параметры — тупость мендежеров, вечные изменения в ТЗ, сжатые сроки, нет возможности отрефакторить то, что уже сделано, потому что это время и деньги, а нужно бежать вперед, а рефакторить нужно, потому что изначально была плохо продумана архитектура, или же продукт начал расти туда, куда не планировал, поэтому приходится костылить. Ну и т.д.

Думаю, надо к этому чуть более философски подходить. Костыли и говнокод — неизбежная данность современной коммерческой разработки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
Moskus
@Moskus
Говнокод - код, который написан, исходя из сиюминутных критериев или критериев, которые основаны на какой-то задаче, противоречащей основной задаче проекта. Скажем, если программист получает деньги за объем кода, а не его качество, он будет писать говнокод. Или если ему важнее всего успеть (потратить минимум времени), а не соблюдать качество продукта. Это при важном условии, если программист способен вообще писать качественный код за разумное время. Если нет, то любой код, который он пишет, автоматически подчиняется только одному требованию - имитации деятельности, потому будет говнокод полностью или в большой степени.
Ответ написан
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Роберт Мартин в своём хрестоматийном трёхтомнике - "Чистый код", "Чистая архитектура" и "Идеальный программист" - пишет, что причиной плохого кода всегда является непрофессионализм написавшего его программиста, без исключений.
Ответ написан
Sanes
@Sanes
!
Экономическая целесообразность и компетенция тим-лидов.
Ответ написан
lxsmkv
@lxsmkv
Test automation engineer
В английском это называется duct tape programming - программирование "изолентой".
Это значит мы записываем в код первое пришедшее в голову решение, не раздумывая, не задумываясь о последствиях и пр. Главное чтобы было "сделано".
Еще указывают на проблему такого подхода, что человек который делает тяп-ляп, но быстро в глазах заказчика или менеджера будет незаслуженно выглядеть героем.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
код сам себя не пишет, его пишут люди -> тоесть сами разработчики единственная причина наличия говнокода.
другое дело что "говнокод" действительно бывает экономически целесообразным, особенно в условиях разработки продукта с очень коротким жизненным циклом (прототипирование например или создание экспериментальных продуктов) и да заказчик с менеджером часто толкают людей именно к такому стилю разработки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы