Как мы приняли стандарт оформления кода

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

Как оказалось, отсутствие стандарта крайне плохо сказывается на разработке проекта в целом. Особенно если это коллективная (два и более участника) работа над одним проектом, то есть в нашем случае.

Предыстория

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

Вопрос изучения про стандарт оформления кода возникал не раз, и каждая моя попытка не давала мне осознания принадлежности сего действа. Но код плохого вида, который написал лично я, можно сказать дал мне понять зачем все это надо. Однако на понимание этой основы мне потребовалось 6 лет! Кстати сказать код был стабильный, без вылетов, как мне казалось хорошо оптимизирован в плане производительности. И что самое главное не было утечек памяти (я над этим усиленно работал). Вот все хорошо, но внешний вид …

Осознавая что придется переворошить как минимум половину проекта (а это вообще не шутки это наш движок), в котором не один десяток тысяч строк кода, осознавая факт что простым способом «Заменить все» не получится (есть печальный опыт в этом, да не один), я принялся за изучение вопроса.

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

Почитав, поизучав, я понял что это наиболее лучшее решение в нашей ситуации. Учитывая тот момент что частенько приходится программировать на скриптовом языке PHP, а так же тот факт что мы разрабатываем свой скриптовый язык программирования. Так как некоторые (большинство??) скриптовых языков программирования не (строго) типизированы (если очень просто — перед объявлением переменной не надо писать тип) то наличие префиксов в виде типов для переменных становится достаточно актуально. PHP и наш разрабатываемый язык были таковыми языками. И метаться между разными, даже не в значительной степени, стандартами оформления кода, желания больше не было.

Принятие стандарта оформления кода и промежуточные итоги

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

Итоги адаптации напишу позже в отдельной статье.

После принятия и обсуждения единого стандарта (целый день мы провели в переписке) мы взялись за его апробацию. На тот момент мы занимались движком (C++) и поэтому стандарт внедрялся для меня лично с трудом. Возникало по ходу дела множество вопросов, были непонятки, но когда я вновь взялся за PHP (был заказ на разработку сайта) то все моментом встало на свои места.

Принятый нами стандарт ускорил разработку. Все вопросы именования сглаживались на ходу, тут же дорабатывался стандарт. В конечном итоге (после доработки сайта) код на скриптовом языке PHP смотрелся вполне красиво. Каждая строка кода была понятна и без комментариев, имена переменных отражали суть (но еще и тип что в контексте PHP очень актуально) оформление в целом приятно смотрелось, и не возникало желания что-то переименовать/изменить.

После этого я задумался … а почему же с виду не шибко красивое именование вдруг приобрело иной вид, и преобразилось в более элегантном облике? Все дело в понятности имен, что в значительной степени облегчает понимание и ускоряет сам процесс разработки. В данном случае мозгу надо развивать алгоритм, продумывать что делать дальше, а не копаться в памяти и пытаться вспомнить что же значит эта переменная, какого она тип, и где вообще объявлена. В итоге и программировать стало приятнее))

После такого открытия я был с одной стороны очень рад что наконец-то стало (а точнее станет) все аккуратнее, понятнее и в едином стиле, а с другой стороны мне было досадно что я не пришел к этому раньше, почему я так долго тянул с этим казалось бы элементарным, которое можно было решить за пару дней и сразу писать нормальный код? Все дело в отсутствии опыта, как самого программирования, так и коллективной разработки. Ну а как опыт начал потихоньку появятся было не до оформления кода, пока этот код не разросся до больших размеров.


Код без стандарта/стиля это хорошо или плохо? Однозначно это не хорошо, написанный код возможно когда-то придется самому разбирать. Однако будь я опять начинающим, то хотя бы год, для набора определенного скилла, стоило бы программировать без стиля дабы самому для себя выяснить что конкретно требуется от стандарта оформления кода? Предпринимать какие-то действия необходимо по мере возникновения в этом нужды, а конкретно описать что надо от стандарта не программируя невозможно.

Но стандарт оформления кода это однозначно хорошо, если только он соответствует нуждам разработчиков.

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

Поделиться:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*

code