Пишем высококачественный JavaScript код. Часть 4 из 4
Четвертая часть урока, посвященного методам создания JavaScript кода, который облегчит сопровождение проектов.
Использование пробелов
Использование пробелов также может внести вклад в улучшение читабельности и целостности кода. При написании текста мы используем пробелы после знаков препинания. В JavaScript коде нужно следовать той же логике и добавлять интервалы после похожих на списки выражений и в конце операторов.
Хорошим местом для размещения пробела являются:
- После точки с запятой, которая разделяет части цикла: например,
for (var i = 0; i < 10; i += 1) {...}
- Инициализация нескольких переменных в цикле
for
(в примере, i и max):for (var i = 0, max = 10; i < max; i += 1) {...}
- После запятой, которая разделяет элементы массива:
var a = [1, 2, 3];
- После запятой в свойствах объекта и после двоеточия, которое разделяет имена свойств и их значения:
var o = {a: 1, b: 2};
- Разделять аргументы функций:
myFunc(a, b, c)
- Перед фигурными скобками в объявлении функции:
function myFunc() {}
- После оператора
function
в объявлении анонимной функции:var myFunc = function () {};
Хорошей практикой также является разделение всех операторов и их операндов пробелами, особенно использование пробелов до и после +, -, *, =, <, >, <=, >=, ===, !==, &&, ||, +=,
и так далее:
// последовательное использование пробелов // делает код легким для прочтения var d = 0, a = b + 1; if (a && b && c) { d = a % c; a += d; } // плохо // отсутствие или непостоянство в использовании пробелов // может существенно затруднить чтение кода var d=0, a=b+1; if (a&&b&&c) { d= a % c; a+=d; }
И несколько слов о пробелах рядом с фигурными скобками, которые помогут улучшить внешний вид кода:
- Перед открытой фигурной скобкой (
{
) в функциях, выраженииif-else
, циклах и объектах; - Между закрытой фигурной скобкой (
}
) иelse
илиwhile.
Для тех, кто утверждает, что использование пробелов увеличивает размер кода можно напомнить о минимизации, которую можно использовать для рабочих версий проекта.
Часто также рассматривается использование вертикальных пробелов для улучшения читабельности кода. Вы можете применять пустые строки для разделения блоков кода, как параграфы разделяют идеи в литературном тексте.
Соглашение об именовании
Еще один способ сделать код предсказуемым и легко поддерживаемым является использование в проекте соглашения об именовании. Данный метод означает, что имена для переменных и функций выбираются исходя из некоторых правил.
Ниже приводится несколько распространенных правил, которые можно использовать для своего проекта. Также вы можете придумать свои правила. Наличие соглашения и последовательное следование ему гораздо более важно, чем то, что в нем содержится.
Заглавная буква в начале имени конструктора
JavaScript не имеет классов, но имеет функцию конструктор, которая вызывается с new
:
Так как конструктор также является функцией, то будет очень разумно выделить его особенное назначение, чтобы с одного взгляда можно было определить, что используется - конструктор или обычная функция.
Правило, что имя конструктора должно начинаться с заглавной буквы, позволяет решить задачу. Использование обычной буквы для имени функции и метода является индикатором, что они не подразумеваются для вызова с использованием new
:
function MyConstructor() {...} function myFunction() {...}
Разделение слов в имени переменных и функций
Когда вы используете несколько слов для именования переменных и функций, хорошей идеей будет следование правилу разделения данных слов. Обычная практика заключается в том, чтобы всё слово писать маленькими буквами, а первую букву каждого слова писать заглавной.
Для конструкторов первое слово также будет начинаться с заглавной буквы, например, MyConstructor()
, а имена функций и методов будут начинаться с маленьких букв, например myFunction()
, calculateArea()
и getFirstName()
.
А как же переменные, которые не являются функциями? Часто для имен переменных используются только маленькие буквы, а слова разделяются подчеркиванием, например, first_name
, favorite_bands
, и old_company_name
. Данное правило позволит визуально разделить функции и все другие идентификаторы - примитивы и объекты.
Другие шаблоны для именования
Иногда разработчики используют правила именования для формирования отсутствующих особенностей языка программирования.
Например, в JavaScript нет способа определения констант (хотя есть встроенные, такие как Number.MAX_VALUE
), поэтому часто применяется правило именования переменных, которые не должны менять значение, с использованием только заглавных букв:
// константы, не надо их трогать var PI = 3.14, MAX_WIDTH = 800;
Другим правилом, которое соперничает с именованием констант, является использование заглавных букв для глобальных переменных. Особенное именование глобальных переменных может помочь в деле сокращения их количества, так как позволяет визуально выделять их в тексте кода.
Еще одним правилом, достойным для подражания, является соглашение об именовании частных методов. Хотя в JavaScript поддерживает частные методы и переменные, но разработчики иногда предпочитают выделять их с помощью первого подчеркивания в имени:
var person = { getName: function () { return this._getFirst() + ' ' + this._getLast(); }, _getFirst: function () { // ... }, _getLast: function () { // ... } };
В данном примере getName()
является публичным методом, частью API. А методы _getFirst()
и _getLast()
подразумеваются как частные. Не смотря на то, что они объявлены как обычные публичные методы, подчеркивание в начале имени сигнализирует о том, что их использование в следующем релизе не гарантируется, поэтому следует ограничить их применение.
Ниже приводится несколько вариантов для именования частных методов и переменных:
- Использование замыкающего подчеркивания в имени, например,
name_
иgetElements_()
- Использование одного подчеркивания для свойств
_protected
и двух для__private
- В Firefox доступны некоторые внутренние переменные, не являющиеся частью языка программирования. Они именуются с использованием двух подчеркиваний в начале имени и двух подчеркиваний в конце имени, например,
__proto__
и__parent__
Пишите комментарии
Обязательно нужно писать комментарии к коду. Часто, когда вы погружены в проект, некоторые участки кода кажутся очевидными, но, возвращаясь к нему несколько недель спустя, бывает трудно вспомнить, что точно данный код делает.
Не следует увлекаться и комментировать очевидное: каждую отдельную переменную, каждую строчку кода. Но нужно задокументировать все функции, их аргументы и возвращаемые значения, а также интересные или необычные алгоритмы или методы. Назначение комментариев - дать возможность читателю кода понять, что делает программа без глубокого погружения в набор операторов. Например, когда у вас есть пять или шесть строк кода, выполняющих определенную задачу, то читатель может пропустить детали, если вы поставили однострочный комментарий, описывающий назначение кода. Хотя некоторые части кода могут потребовать объемных комментариев, которые будут превышать по размеру сам код (например, регулярные выражения).
Очень полезной привычкой является поддерживание актуальности комментариев, так как устаревшее описание может нанести больше вреда, чем полное отсутствие комментариев.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/H6vZ9S5WNvI/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Все мы сидим в сточной канаве, но некоторые при этом смотрят на звезды Уайльд Оскар - (1854-1900) - английский писатель |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.