Пишем высококачественный 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
Новые статьи и публикации
- 2025-03-14 » SPF-запись
- 2025-03-07 » SEO на маркетплейсах: как оптимизировать карточку товара для поисковой выдачи
- 2025-02-18 » Топ-10 бесплатных нейросетей для генерации изображений: лучшие ии генераторы 2024 года
- 2025-02-11 » Критическая уязвимость в 1С-Битрикс
- 2025-02-11 » Google Search Console: руководство для начинающих вебмастеров
- 2025-02-11 » Методы измерения результативности рекламных кампаний: плюсы и минусы
- 2025-02-11 » Тренды SEO в 2025 году
- 2025-02-10 » Свой Google в локалке. Ищем иголку в стоге сена
- 2025-01-29 » SEO — это комплексная работа. Шесть главных факторов ранжирования сайтов
- 2025-01-29 » Гайд для главной страницы e-commerce сайта: как оформить, чтобы повысить конверсию
- 2025-01-20 » Krea AI выпустила бесплатную функцию преобразования изображений в 3D-объекты — их можно вращать и вписывать в фотографии
- 2025-01-19 » Отзывы на Яндекс Картах: как пройти модерацию
- 2025-01-15 » Топ-6 лучших российских нейросетей, в которых можно генерировать тексты и изображения бесплатно и без VPN
- 2025-01-14 » 15 бесплатных способов узнать, чем интересуется ваша аудитория
- 2025-01-11 » Бездепозитные бонусы в казино за регистрацию с выводом: особенности и возможности получения
- 2025-01-09 » Новая модель LAM способна выполнять задачи в Word
- 2024-12-26 » Универсальный промпт для нейросети: как выжать максимум из ChatGPT, YandexGPT, Gemini, Claude в 2025
- 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 » Интеграция с Яндекс Еда
Больше всех рискует тот, кто не рискует Бунин Иван Алексеевич - (1870-1953) - русский писатель |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.
Или напишите нам в WhatsApp
Или напишите нам в WhatsApp