Как и любые другие приложения, приложения на JavaScript также должны быть хорошо написаны.
В противном случае позже мы столкнемся со всевозможными проблемами.
В этой статье мы рассмотрим некоторые передовые практики, которым следует следовать при написании кода JavaScript.
Нет пробелов между операторами распространения и их выражениями
Между операторами распространения и их выражениями не должно быть пробелов.
Например, вместо написания:
fn(... args)
Мы пишем:
fn(...args)
Точка с запятой должна иметь пробел после и без пробела перед
После точки с запятой должен стоять пробел, а перед ним не должно быть пробелов, как это принято в JavaScript.
Например, вместо написания:
for (let i = 0 ;i < arr.length ;i++) {...}
Мы пишем:
for (let i = 0; i < arr.length; i++) {...}
Между блоками должен быть пробел
Если мы создаем блок, то перед ним должен стоять пробел.
Например, вместо написания:
if (cond){...}
Мы пишем:
if (cond) {...}
Внутри круглых скобок нет пробелов
В скобках не должно быть пробелов.
Например, вместо написания:
getName( person )
Мы пишем:
getName(person)
После унарных операторов должен быть пробел
У нас должен быть пробел после унарных операторов, чтобы мы могли их читать.
Кроме того, мы не хотим соединять слова вместе.
Например, вместо написания:
typeof!cond
Мы пишем:
typeof !cond
Используйте пробелы внутри комментариев
У нас должны быть пробелы внутри комментариев JavaScript.
Например, вместо написания:
//comment
Мы пишем:
// comment
Для многострочных комментариев не следует писать:
/*comment*/
Вместо этого мы пишем:
/* comment */
Без пробелов в строках шаблона
У нас не должно быть пробелов в начале или в конце выражения в строках шаблона.
Например, вместо написания:
const message = `hi, ${ name }`
Мы пишем:
const message = `hi, ${name}`
Чтобы проверить NaN, мы должны использовать isNaN
Мы не можем использовать ===
для сравнения NaN
, поскольку NaN
не считается самим собой.
Вместо этого нам нужно использовать функцию isNaN
для проверки NaN
.
Итак, вместо того, чтобы писать;
if (price === NaN) { }
Мы пишем:
if (isNaN(price)) { }
typeof должен сравниваться со строкой
typeof
необходимо сравнить с допустимой строкой.
Убедитесь, что в строке нет опечаток.
Например, мы не должны писать:
typeof name === 'undefimed'
когда мы на самом деле имеем в виду:
typeof name === 'undefined'
Сразу вызываемые функциональные выражения (IIFE) должны быть заключены в оболочку
Мы должны заключить IIFE в круглые скобки, чтобы было ясно, что мы вызываем функцию сразу после ее определения.
Например, мы должны написать:
const getName = (function () { }())
or:
const getName = (function () { })()
or:
const getName = (() => { })()
Выражения yield должны иметь пробел до и после
Когда мы вызываем функцию генератора из другой функции генератора, нам понадобится ключевое слово yield *
.
Мы должны написать это так для согласования с соглашениями JavaScript.
Например, мы пишем:
yield * foo();
Нет выражений Йоды
У нас должно быть значение, которое мы сравниваем, как правильный оператор, чтобы нам было проще с ними работать.
Это больше похоже на обычную человеческую речь
Например, мы пишем:
if (age === 2) { }
вместо того:
if (2 === age) { }
Точка с запятой
У нас должны быть точки с запятой, чтобы избежать автоматической вставки точки с запятой в неожиданных местах.
Например, мы пишем:
window.alert('hi');
Никогда не начинайте новую строку с символов, с которых мы не ожидаем начать новую строку
У нас не должно быть таких символов, как круглые скобки, скобки, точки с запятой, запятые и т. Д., Чтобы начинать строку, даже если они действительны.
Например, мы не должны писать такой код:
;(function () { window.alert('ok') }())
Вместо этого мы пишем:
(function () { window.alert('ok') }())
Заключение
Мы не должны писать код, которого не ожидает большинство людей.
Кроме того, мы должны писать код, который естественно читается как программисты.
У нас также не должно быть бесполезных пробелов в нашем коде.
На простом английском
Понравилась эта статья? Если да, то получите больше похожего контента, подписавшись на наш канал YouTube!