-
Notifications
You must be signed in to change notification settings - Fork 1
Code Convention
Damir Armanov edited this page Mar 18, 2018
·
3 revisions
http://es6-features.org/ https://habrahabr.ru/post/305900/
На каждую задачу в 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 }) => { ... }