2012-08-31

Стайл гайд написан деньгами

В каждой профессии есть набор прописных истин с разными последствиями при не исполнении. И если искра в забое может стать для шахтера последней, то в программировании все не так очевидно.

Не используй гото и глобальные переменные, комментируй код, не доверяй вводу, PEP 20, java code conventions  и прочее - все эти истины раз за разом повторяются новичкам, до полного усвоения. Если нарушать правила, код будет пахнуть, а с техническими долгами никогда не рассчитаетесь и стоимость изменений вырастет до бесконености.

Применимость


Какой главный ресурс у программиста? - время, которое суть деньги. Необоснованное нарушение правил приводит к потерям времени на поиск, понимание, исправление.

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

А ведь поиск границ применимости неизбежный этап развития. Только попробовав нарушить и ощутив обратную связь, можно понять истинную причину правила, когда нарушить правило выгоднее его соблюдения. Понимая суть запрета возможно нарушать правило без последствий.

В маленьких и неопытных командах все с точностью до наоборот: возможность попробовать любые варианты и собрать все возможные грабли. Никто не отправит на переделку. Главный минус - отсутствие гуру, который будет направлять, не ограничивая.