Skip to content

Commit e1ee94a

Browse files
committed
Добавляет текст правил форматирования кода
1 parent bbd2589 commit e1ee94a

File tree

1 file changed

+68
-10
lines changed

1 file changed

+68
-10
lines changed

app/templates/partials/js/js-rules.hbs

Lines changed: 68 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Синтаксис и лексика
22
## Отступы, пробелы и переносы
3+
Для правильного форматирования используйте файл .editorconfig в вашем редакторе.
4+
35
'indent': ['error', 2, {
46
SwitchCase: 1,
57
// continuation indent
@@ -9,32 +11,97 @@
911
FunctionExpression: {parameters: 2},
1012
CallExpression: {arguments: 2}
1113
}],
14+
- Для отступов используются два пробела. Знак табуляции не используется. При переносах в продолжении строки используется четыре пробела.
15+
1216
'no-irregular-whitespace': 'error', // eslint:recommended
17+
- Запрещено одновременное использование табов и пробелов для отступов.
18+
1319
'no-unexpected-multiline': 'error', // eslint:recommended
20+
- Выражения должны заканчиваться точками с запятой.
21+
1422
'no-multi-spaces': 'error',
23+
- Внутри строки не используется более одного пробела.
24+
1525
'brace-style': 'error',
26+
- Открывающие скобки блоков кода находятся на одной строке с оператором, которых их использует
27+
```javascript
28+
// Плохо:
29+
if (condition)
30+
{
31+
// code
32+
}
33+
34+
// Хорошо
35+
if (condition) {
36+
// code
37+
}
38+
```
39+
1640
'block-spacing': ['error', 'always'],
41+
- В однострочных блоках кода, код отделен от открывающей и закрывающей скобки пробелом
42+
1743
'array-bracket-spacing': ['error', 'never'],
44+
- В однострочных массивах скобки не отделяются пробелами, первое значение идет непосредственно после закрывающей скобки, а закрывающая скобка идет непосредственно после последнего значения массива
45+
1846
'comma-spacing': 'error',
47+
- После запятой всегда должен ставиться пробел, если запятая не в конце строки
48+
1949
'comma-style': 'error',
50+
- Запрещено переносить запятую на новую строку при создании множественных переменных через один var, при объявлении массивов и объектов. Запрещено использовать запятую в конце списков, объектов или наоборов параметров функции.
51+
2052
'eol-last': 'error',
53+
- Файл должен заканчиваться пустой строкой
54+
2155
'no-trailing-spaces': 'error',
56+
- Строка не должна заканчиваться пробелами
57+
2258
'object-curly-spacing': 'error',
59+
- В однострочных объектах и при деструктуризации фигурные скобки отбиваются пробелами с двух сторон
60+
2361
'no-mixed-spaces-and-tabs': 'error', // eslint:recommended
62+
- В коде не используются совместно табы и пробелы
63+
2464
'no-multiple-empty-lines': ['error', {max: 2}],
65+
- Блоки кода отделяются друг от друга не более чем двумя пустыми строками
66+
2567
'linebreak-style': 'off', // check this in git
68+
- В качестве символа строки используется стандартный символ, который используется в системе
69+
2670
'computed-property-spacing': 'error',
71+
- При объявлении вычисляемых ключей в объектах с помощью синтаксиса ES2016 в квадратных скобках не используются пробелы
72+
2773
'func-call-spacing': 'error',
74+
- Оператор вызова функции () не отделяется круглыми скобками от названия функции
75+
2876
'key-spacing': 'error',
77+
- В объектах после объявления ключа не ставится пробел. После двоеточия, которое отделяет в объектах ключ от значения может стоять только один пробел, выравнивать несколько значений при объявлении многострочного объекта запрещено
78+
2979
'keyword-spacing': 'error',
80+
- Ключевые слова отделяются пробелами. Правило касается всех блоков, которые не оговорены отдельно в других правилах. В частности ключевые слова должны отделяться пробелами для условных операторов, циклов, операторов множественного выбора, блоков try..catch, объявлений классов и т. д.
81+
3082
'padded-blocks': ['off', 'never'],
83+
- В блоках кода первая и последняя строка не должны быть пустыми (код не отбивается от начала блока кода)
84+
3185
'semi-spacing': 'error',
86+
- После двоеточий и точек с запятым ставятся пробелы. Перед ними — не ставятся.
87+
3288
'space-before-blocks': 'error',
89+
- Перед скобками начинающими новый блок кода должен ставиться пробел.
90+
3391
'space-before-function-paren': ['error', {named: 'never', anonymous: 'always'}],
92+
- при объявлении анонимных функций, скобки с параметрами ставятся непосредственно после ключевого слова function. Если функция именована, перед названием ставится пробел, после — нет.
93+
3494
'spaced-comment': ['error', 'always'],
95+
- В комментариях текст отбивается пробелом от начала комментария.
96+
3597
'generator-star-spacing': ['error', 'after'],
98+
- При создании генераторов, звездочка идет сразу после ключевого слова function без пробелов
99+
36100
'rest-spread-spacing': 'error',
101+
- В spread-операторе точки не отделяются от названия коллекции
102+
37103
'yield-star-spacing': ['error', 'after']
104+
- Звездочка после ключевого слова yield не отбивается пробелом. После звездочки проблел ставится всегда.
38105

39106
## Строки
40107
'no-multi-str': 'error', // запрет на использование переносов в ES5-строках
@@ -71,16 +138,6 @@
71138
'no-undefined': 'error', // нельзя использовать значение undefined
72139
'new-cap': 'error',
73140

74-
# Конструкции языка
75-
76-
## Условные операторы
77-
## Циклы
78-
## Функции
79-
## Переменные
80-
## Классы
81-
'constructor-super': 'error', // eslint:recommended
82-
83-
84141
# Предотвращение ошибок
85142
'semi': 'error',
86143
'unicode-bom': 'warn',
@@ -104,6 +161,7 @@
104161

105162
## Классы
106163
'no-this-before-super': 'error', // eslint:recommended
164+
'constructor-super': 'error', // eslint:recommended
107165

108166

109167
## Объявление переменных и функций

0 commit comments

Comments
 (0)