CodeStyle
Стандарт написания кода
- код всего проекта выглядит так, как будто его писал один человек;
- облегчает код ревью;
- упрощает поддержку.
Правила
Файлы
- кодировка;
- символ переноса строки;
- стиль именования;
- файловая структура проекта.
Форматирование

Специфика языка
Предпочтение новым стандартам
var logoSrc = '/images/logo.png';
for (var i = 0; i < arrayLength; i++) {
...
}
const text = 'First part ' + secondPartVariable + ' thirdPart';const logoSrc = '/images/logo.png';
for (let i = 0; i < arrayLength; i++) {
...
}
const text = `First part ${secondPartVariable} thirdPart`;Формализация синтаксиса
let var1 = 1,
var2 = 4,
var3, var4,
variable = null;
let var1 = 1;
let var2 = 4;
let var3;
let variable = null;Нейминг
- UpperCamelCase;
- lowerCamelCase;
- kebab-case;
- snake_case;
- CONSTANT_CASE.
Стиль комментариев
JsDoc (usejsdoc.org)
/** Class representing a point. */
class Point {
/**
* Create a point.
* @param {number} x - The x value.
* @param {number} y - The y value.
*/
constructor(x, y) {
// ...
}
/**
* Get the x value.
* @return {number} The x value.
*/
getX() {
// ...
}
/**
* Convert a string containing two comma-separated numbers into a point.
* @param {string} str - The string containing two comma-separated numbers.
* @return {Point} A Point object.
*/
static fromString(str) {
// ...
}
}
JsDoc (usejsdoc.org)

Готовые стандарты
- Airbnb JavaScript Style Guide (https://goo.gl/1oeX4N);
- Google JavaScript Style Guide (https://goo.gl/nH2QrA);
- jQuery JavaScript Style Guide (https://goo.gl/Uc8AQr);
- Idiomatic.JS (https://goo.gl/q2phR5);
- Dojo Style Guide (https://goo.gl/N2e6UU).
Инструменты
- ESLint (eslint.org);
- JSHint (jshint.com);
- JSLint (jslint.com).
CodeStyle
By frontschool-nsk
CodeStyle
- 86