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)

Готовые стандарты

Инструменты

Made with Slides.com