Стили JavaScript кода разных времен

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

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

Сначала — запятая

Также этот стиль назывался «Диким Западом». Эта была задумка небольшой хакерской группы, имена представителей которой уже давно канули в Лету. Случилось это в ту пору, когда серверный JS еще только вступал в массы. Должна была появиться целая экосистема, новая IT-цивилизация. Строгих правил этот стиль оформления не несет, однако его использование может решить одну очень большую проблему, связанную с пропущенными запятыми.

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

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

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

Скажи отступам «нет!»

Считается, что этот стиль появился в ответ на неграмотное оформление кода в вопросах на WebmasterWorld в ветке PHP. Однако у него имеется и идеологическая подоплека. Суть этого no-indent стиля заключается в отсутствии отступов: таким образом, никакая строка не считается важнее любой другой, все фрагменты кода равны между собой. А кроме того, кодер сможет сконцентрировать свое внимание на более важных вещах, чем 80-символьный лимит на строку кода.

Появление этого стиля породило массу обсуждений. В скором времени кто-то заметил, что в таком случае код становится похожим на пистолет, и no-indent стиль скоро покинул мир JS-разработки.

Верстаем код таблицами

С целью привлечь в веб-разработку бизнес-элементы программисты выдумали новый стиль, который оформляет код вболее привычном для бизнесменов виде, а именно за счет табуляций приводит код из привычного вида:

в форму таблицы:

разбивая весь код на ячейки. Таким образом появилась возможность быстрее ориентироваться в коде в процессе отладки: вместо пространного «Syntax error: Line 4 column 27» можно получить более четкое «Syntax Error: C6».

Проза

Для JavaScript есть характерное высказывание: «Никогда не оглядывайся». И ровно это выражается прозаическим кодом на JS. В отличие от второго описанного no-indent стиля, где отступы не используются вообще, теперь мы используем отступы по полной: где надо и не надо, так сказать.

Смотрите: когда мы заканчиваем очередной блок, то мы как бы отменяем сделанное нами ранее действие и смещаемся на уровень назад, стирая отступ. И можно ли это назвать прогрессом? Нет. А теперь взгляните на этот фрагмент, оформленный в стиле прозы:

Проза презентует ваш труд. Водопад битов, каскадом спускающийся к самому концу исходника, делающий вашу работу незабываемой для заказчика. В JavaScript разработке мы движемся вперед, а не назад, и проза на JS это демонстрирует. У этого, кажется, идеального стиля оформления был всего один недостаток: он почему-то очень не нравился менеджерам, а потому отправился вслед за no-indent’ом.

Кодолуние

Агрессивная маркетинговая стратегия NASA, направленная на популяризацию полетов Апполонов на Луну, имела свое преломление и в программистском деле. Так появился новый стиль оформления JavaScript-кода, в рамках которого вот такой фрагмент кода:

превращался в небольшое скопление маленьких Лун в исходнике:

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


Знали ли вы раньше о каком-нибудь из этих стилей? Или, может быть, придерживаетесь и сейчас какого-нибудь из них? Можем побиться об заклад, ваши проекты все-таки написаны в некотором, наверняка общепринятом, стиле. Однако кто знает, как будет развиваться кодинг на JS дальше: никаких запятых? Писать код зигзагом? Нам остается только гадать, ждать да придумывать свое.

Перевод статьи «JavaScript Styles from Worlds Past»