Skip to content

Code Convention

Damir Armanov edited this page Mar 18, 2018 · 3 revisions

ES6 Features

http://es6-features.org/ https://habrahabr.ru/post/305900/

Перед тем, как вы соберетесь пушить код, будет запущен хук npm test

На каждую задачу в ZenHub'e - отдельную ветку. Как только задача сделана - отправляем пулл реквест в develop. Там делаем командное ревью, и только после этого мерджим.

Что мы не делаем

  • мы НЕ пишем require() -> import/export
  • мы НЕ пишем var -> const/let
  • мы НЕ используем Function Declaration -> Function Expression
//Bad
function sayHi(hello) {
  alert(hello)
}

//Good
const sayHi = hello => alert(hello)
  • мы НЕ ставим ; -> babel ставит их сам

  • мы НЕ пишем двойные ковычки " -> '

  • мы НЕ используем Object.assign -> { ...object }

  • мы ИСПОЛЬЗУЕМ сокращенную запись свойства объекта

// плохо
const obj = {
  lukeSkywalker: lukeSkywalker
}

// хорошо
const obj = {
  lukeSkywalker
}
  • мы ИСПОЛЬЗУЕМ и ЛЮБИМ деструктуризацию (и параметры по умолчанию)
// плохо
const one = data.one
const two = data.two

// хорошо
const { one = 0, two } = data
  • мы НЕ конкатенируем строки -> string templates
// плохо
const url = baseUrl + '/api/v1'

// хорошо
const url = `${baseUrl}/api/v1`
  • мы СТАРАЕМСЯ делать меньше ветвлений
//плохо
let c
if (a > b) {
   c = a
} else {
   c = b
}

//хорошо
const c = (a > b) ? a : b
  • мы ПОЛЬЗУЕМСЯ логическими операторами
//плохо
const a = (b !== null) ? b : c

//хорошо
const a = b || c
  • если что-то повторяется в коде больше двух раз, то мы ВЫНОСИМ это как КОНСТАНТУ или ФУНКЦИЮ
  • мы НЕ ПЕРЕДАЕМ в функцию больше 3 параметров
//плохо
const func = (a, b, c, d, e) => { ... }

//хорошо (передаем объект)
const func = ({ a, b, c, d, e }) => { ... }

Все остальное здесь: https://github.com/leonidlebedev/javascript-airbnb