Пишем высококачественный 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

Читать комменты и комментировать

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



Защитный код
Обновить

Пишем высококачественный JavaScript код. Часть 4 из 4 | | 2012-06-19 12:01:46 | | Статьи Web-мастеру | | Четвертая часть урока, посвященного методам создания JavaScript кода, который облегчит сопровождение проектов. Использование пробеловИспользование пробелов также может внести вклад в улучшение | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: