Форматирование кода на Javascript

При написании кода следует уделить внимание его внешнему виду. С кодом придется работать многим людям. Важно чтобы стиль не изменялся во всем проекте. Неприемлемо использовать разные отступы в пределах одного документа. Подобные вещи нужно определить до начала работы. Часто среды разработки помогают оформлять код. Программист выбирает использовать строгие правила, например представленные компанией Google, или выработать свои.

Правила языка JavaScript

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

Точка с запятой

Использование этого символа не является обязательным в большинстве случаев. Но есть ситуации в которых нужно четко обозначить завершение одной команды.

Корректная работа без точки с запятой:

alert(‘Привет’)
alert(‘Мир’)

Ошибка при отсутствии точки с запятой:

alert(«Сейчас будет ошибка»)

[1, 2].forEach(alert)

Для корректной работы в последнем примере достаточно поставить этот знак препинания после алерта:

alert(«Теперь всё в порядке»);

[1, 2].forEach(alert)

В JavaScript многие программисты отказываются от точек с запятой.

Скобки

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

let sum = (a, b) => a + b

Может быть объявлена иначе:

let sum = (a, b) => { // фигурная скобка, открывающая тело многострочной функции
let result = a + b;
return result; // при фигурных скобках для возврата значения нужно явно вызвать return
};

Для функций, которым передается больше одного параметра или не передается ни одного параметра, скобки обязательны:

const test = (a, b) => a + b
const another = a => a + 2

При использовании циклов, если тело цикла состоит из одной строки, то фигурные скобки можно опустить:

for (let i = 0; i < 3; i++) alert(i)

Аналогично записи:

for (let i = 0; i < 3; i++)
{
alert(i)
}

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

Рекомендации при написании кода

Есть параметры, которые никак не сказываются на работе программ, но определенные правила сделают код приятным на вид и пригодным для прочтения другими людьми или вами через несколько лет.

Пробелы в начале строки

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

Пример с двумя отступами:

function pow(x, n) {
let result = 1;
// <—
for (let i = 0; i < n; i++) {
result *= x;
}
// <—
return result;
}

Для выделения частей кода так же используют пустые строки.

Комментарии

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

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

Пример:

// Этот комментарий занимает всю строку
alert(‘Привет’);

alert(‘Мир’); // Этот комментарий следует за инструкцией

Многострочные комментарии:

/* Пример с двумя сообщениями.
Это — многострочный комментарий.
*/
alert(‘Привет’);
alert(‘Мир’);

Оставлять неиспользуемый код в комментариях нежелательно. Для экспериментов с кодом лучше использовать систему контроля версий, например git.

Именование функций и переменных

Для всех объектов, используемых в коде, рекомендуется выбирать говорящие названия. В названиях желательно использовать английские слова. Использование символов кириллицы или смайлов не рекомендуется. Для обозначения переменных и функций используется верблюжий стиль (camelCase). Слова записываются без разделения символами, но с заглавной буквы.

Рекомендуется:

let userName;

Не рекомендуется:

let имя = ‘…’;
let 我 = ‘…’;

Константы принято записывать прописными буквами, для отличия от переменных. Для отделения слов в названии констант используется нижнее подчеркивание.

const COLOR_RED = «#F00»;

С названиями переменных дополнения и сервисы помочь не смогут. Программист должен сам выбрать уникальное говорящее названия для каждого используемого элемента. Например, для функций рекомендуется использовать глагольные префиксы get, create, check и так далее.

Дополнения для IDE

В современных редакторах есть встроенные средства для форматирования кода. В настройках IDE можно настроить такие вещи как количество пробелов в начале строки и расстановка скобок. Примерами подобных инструментов являются JSLint, JSHint, ESLint.

Есть универсальные дополнения, а есть написанные с привязкой в конкретной среде. Писать код можно даже в блокноте, но специальные среды сделают процесс создания скриптов проще и приятнее.

Сервисы для онлайн форматирования кода

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

Запись чисел

В JavaScript можно использовать форматы Number и BigInt для записи чисел. Первый формат применяется чаще.

Объявить числа в JavaScript можно стандартным способом:

let billion = 1000000000;

Для больших чисел может быть полезней запись с использованием е. После е идет степень 10, на которую будет умножено число стоящее до е.

1e3 = 1 * 1000
1.23e6 = 1.23 * 1000000

Пример использования в JavaScript:

let billion = 1e9;

Использование дробных чисел:

let ms = 0.000001;

Аналогичная запись может быть сделана следующим образом:

let ms = 1e-6;

Запись чисел с основанием отличным от 10:

  • двоичные числа: var FLT_SIGNBIT = 0b10000000000000000000000000000000; // 2147483648
  • восьмеричные числа: var n = 0755; // 493
  • шестнадцатеричные числа: n = 0x123456789ABCDEF // 81985529216486900

Для использования типа данных BigInt можно воспользоваться одним из следующих вариантов:

const bigint = 1234567890123456789012345678901234567890n;

const sameBigint = BigInt(«1234567890123456789012345678901234567890»);

const bigintFromNumber = BigInt(10); // то же самое, что и 10n

Запись строк

В JavaScript допустимо несколько вариантов обозначения строк одиночные или двойные кавычки:

‘foo’
«bar»

В ES6 была добавлена возможность использовать переменные внутри строк. Сама строка при этом заключается в косые кавычки, а переменные заключены в фигурные скобки перед которыми стоит символ доллара.

const name = «Alex»;
const str =
`Привет, ${name},
как дела?`;

console.log(str);
// Привет, Alex,
// как дела?

Экранирование символов:

  • шестнадцатеричные числа: ‘\xA9’
  • символы unicode: ‘\u00A9’

Для приведения чисел и других типов данных к строке можно использовать метод toString.

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

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