о стиле кода

Стиль кода в программировании – это такая религия. Если хочешь выжить в программистском мире, придется тебе научиться ее ритуалам и обычаям. Придя на новое место работы, поинтересуйся, кто тут шаман-стилист. В роли шамана-стилиста может выступать Самый Большой Начальник из видимых с твоей низкой коленно-локтевой позиции, а также специально поставленный индивидуум... или индивидурень. Нередко шамана-стилиста можно распознать по названию должности, которая звучит примерно как “охрентектор”. Но не всегда. Охрентектор может оказаться безобидным, а роль шамана исполняет кто-то другой.

Если шамана нет, можешь считать, что тебе повезло. Но ненадолго.

Шаман-стилист определяет, как ты должен писать программы. Нет, если ты думаешь, что в институте (или где ты там делал вид, что учился) тебя научили писать программы хорошо, ты не прав. Как хорошо, знает только шаман-стилист.

Сакральное знание о том, как хорошо, приходит шаману из нескольких святых источников.

Первый – откровения других шаманов. Их нетрудно найти в Сети. Откровения выглядят примерно так: это страничка с правилами, в которых говорится о том, как не надо, и о том, как надо. Там нет умных алгоритмов и нетривиальных полезных приемов, нет. Свет Истины касается того, где надо ставить фигурную скобочку, как оформлять комментарии, сколько пробелов должно быть вокруг знака равенства... Все в таком роде. Если правила пронумерованы, а в комментах восхищенные “плюсадыны”, знайте – это оно самое: Великое Откровение О Том, Как Надо.

Второй источник сакральных знаний шамана-стилиста – это психические травмы его программистского детства. Когда-то шаман получил ремня за использование (или не использование) некоего приема. При первой возможности он захочет точно так же познакомить свой ремень с вашим салом. Скажем, если когда-то шаману вставили пистон за использование 100 операторов goto в 150 строках кода, будьте уверены: он вам вставит еще больший пистон за использование 1 оператора goto в 100 тыс. строках кода.

Третье – это Гениальные Открытия самого шамана. Когда-то давно шаману явился Дух и подсказал, что счетчики ссылок - это круто. Все, теперь вы будете подвешивать счетчики ссылок даже к комментариям. Иначе шаман вас проклянет.

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

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

Также в твоем офисе может практиковаться такой обряд, как code review. Это когда кто-то садится, смотрит на твою программу и начинает объяснять тебе, из какого места у тебя растут руки. Если этот "кто-то" не вредный, он, вместо того, чтобы искать баги в твоем коде, с пользой для здоровья проведет время на порносайте или в ЖЖ, а потом скажет, что, дескать, ничего не нашел. К вашему общему удовлетворению. Если тебе не повезло, и твой код стала смотреть добросовестная свинья, тогда первое, что ей бросится в глаза – это нарушение стиля. До реальных багов дело, скорее всего, не дойдет. И опять именно религиозный вопрос станет важнее прочего.

Так что следуй заведенному порядку. Со временем ты привыкнешь настолько, что нарушение стиля будет резать тебе глаза, и ты сам будешь закидывать камнями неверных отступников.

Ты спрашиваешь, а как надо писать код по идее? Если пишешь для себя самого, то ты и без меня знаешь, как тебе удобнее. А если ты пишешь “на дядю”, то главная цель “дяди” состоит в том, чтобы кто-то другой смог легко разобраться в твоем коде. То есть, чтобы тебя можно было легко уволить в любой момент.



Мирослав Войнаровский


Сетевые решения. Статья была опубликована в номере 04 за 2007 год в рубрике PRIcall

©1999-2024 Сетевые решения