|
1 | 1 | # Синтаксис и лексика
|
2 | 2 | ## Отступы, пробелы и переносы
|
| 3 | +Для правильного форматирования используйте файл .editorconfig в вашем редакторе. |
| 4 | + |
3 | 5 | 'indent': ['error', 2, {
|
4 | 6 | SwitchCase: 1,
|
5 | 7 | // continuation indent
|
|
9 | 11 | FunctionExpression: {parameters: 2},
|
10 | 12 | CallExpression: {arguments: 2}
|
11 | 13 | }],
|
| 14 | +- Для отступов используются два пробела. Знак табуляции не используется. При переносах в продолжении строки используется четыре пробела. |
| 15 | + |
12 | 16 | 'no-irregular-whitespace': 'error', // eslint:recommended
|
| 17 | +- Запрещено одновременное использование табов и пробелов для отступов. |
| 18 | + |
13 | 19 | 'no-unexpected-multiline': 'error', // eslint:recommended
|
| 20 | +- Выражения должны заканчиваться точками с запятой. |
| 21 | + |
14 | 22 | 'no-multi-spaces': 'error',
|
| 23 | +- Внутри строки не используется более одного пробела. |
| 24 | + |
15 | 25 | 'brace-style': 'error',
|
| 26 | +- Открывающие скобки блоков кода находятся на одной строке с оператором, которых их использует |
| 27 | +```javascript |
| 28 | +// Плохо: |
| 29 | +if (condition) |
| 30 | +{ |
| 31 | + // code |
| 32 | +} |
| 33 | + |
| 34 | +// Хорошо |
| 35 | +if (condition) { |
| 36 | + // code |
| 37 | +} |
| 38 | +``` |
| 39 | + |
16 | 40 | 'block-spacing': ['error', 'always'],
|
| 41 | +- В однострочных блоках кода, код отделен от открывающей и закрывающей скобки пробелом |
| 42 | + |
17 | 43 | 'array-bracket-spacing': ['error', 'never'],
|
| 44 | +- В однострочных массивах скобки не отделяются пробелами, первое значение идет непосредственно после закрывающей скобки, а закрывающая скобка идет непосредственно после последнего значения массива |
| 45 | + |
18 | 46 | 'comma-spacing': 'error',
|
| 47 | +- После запятой всегда должен ставиться пробел, если запятая не в конце строки |
| 48 | + |
19 | 49 | 'comma-style': 'error',
|
| 50 | +- Запрещено переносить запятую на новую строку при создании множественных переменных через один var, при объявлении массивов и объектов. Запрещено использовать запятую в конце списков, объектов или наоборов параметров функции. |
| 51 | + |
20 | 52 | 'eol-last': 'error',
|
| 53 | +- Файл должен заканчиваться пустой строкой |
| 54 | + |
21 | 55 | 'no-trailing-spaces': 'error',
|
| 56 | +- Строка не должна заканчиваться пробелами |
| 57 | + |
22 | 58 | 'object-curly-spacing': 'error',
|
| 59 | +- В однострочных объектах и при деструктуризации фигурные скобки отбиваются пробелами с двух сторон |
| 60 | + |
23 | 61 | 'no-mixed-spaces-and-tabs': 'error', // eslint:recommended
|
| 62 | +- В коде не используются совместно табы и пробелы |
| 63 | + |
24 | 64 | 'no-multiple-empty-lines': ['error', {max: 2}],
|
| 65 | +- Блоки кода отделяются друг от друга не более чем двумя пустыми строками |
| 66 | + |
25 | 67 | 'linebreak-style': 'off', // check this in git
|
| 68 | +- В качестве символа строки используется стандартный символ, который используется в системе |
| 69 | + |
26 | 70 | 'computed-property-spacing': 'error',
|
| 71 | +- При объявлении вычисляемых ключей в объектах с помощью синтаксиса ES2016 в квадратных скобках не используются пробелы |
| 72 | + |
27 | 73 | 'func-call-spacing': 'error',
|
| 74 | +- Оператор вызова функции () не отделяется круглыми скобками от названия функции |
| 75 | + |
28 | 76 | 'key-spacing': 'error',
|
| 77 | +- В объектах после объявления ключа не ставится пробел. После двоеточия, которое отделяет в объектах ключ от значения может стоять только один пробел, выравнивать несколько значений при объявлении многострочного объекта запрещено |
| 78 | + |
29 | 79 | 'keyword-spacing': 'error',
|
| 80 | +- Ключевые слова отделяются пробелами. Правило касается всех блоков, которые не оговорены отдельно в других правилах. В частности ключевые слова должны отделяться пробелами для условных операторов, циклов, операторов множественного выбора, блоков try..catch, объявлений классов и т. д. |
| 81 | + |
30 | 82 | 'padded-blocks': ['off', 'never'],
|
| 83 | +- В блоках кода первая и последняя строка не должны быть пустыми (код не отбивается от начала блока кода) |
| 84 | + |
31 | 85 | 'semi-spacing': 'error',
|
| 86 | +- После двоеточий и точек с запятым ставятся пробелы. Перед ними — не ставятся. |
| 87 | + |
32 | 88 | 'space-before-blocks': 'error',
|
| 89 | +- Перед скобками начинающими новый блок кода должен ставиться пробел. |
| 90 | + |
33 | 91 | 'space-before-function-paren': ['error', {named: 'never', anonymous: 'always'}],
|
| 92 | +- при объявлении анонимных функций, скобки с параметрами ставятся непосредственно после ключевого слова function. Если функция именована, перед названием ставится пробел, после — нет. |
| 93 | + |
34 | 94 | 'spaced-comment': ['error', 'always'],
|
| 95 | +- В комментариях текст отбивается пробелом от начала комментария. |
| 96 | + |
35 | 97 | 'generator-star-spacing': ['error', 'after'],
|
| 98 | +- При создании генераторов, звездочка идет сразу после ключевого слова function без пробелов |
| 99 | + |
36 | 100 | 'rest-spread-spacing': 'error',
|
| 101 | +- В spread-операторе точки не отделяются от названия коллекции |
| 102 | + |
37 | 103 | 'yield-star-spacing': ['error', 'after']
|
| 104 | +- Звездочка после ключевого слова yield не отбивается пробелом. После звездочки проблел ставится всегда. |
38 | 105 |
|
39 | 106 | ## Строки
|
40 | 107 | 'no-multi-str': 'error', // запрет на использование переносов в ES5-строках
|
|
71 | 138 | 'no-undefined': 'error', // нельзя использовать значение undefined
|
72 | 139 | 'new-cap': 'error',
|
73 | 140 |
|
74 |
| -# Конструкции языка |
75 |
| - |
76 |
| -## Условные операторы |
77 |
| -## Циклы |
78 |
| -## Функции |
79 |
| -## Переменные |
80 |
| -## Классы |
81 |
| -'constructor-super': 'error', // eslint:recommended |
82 |
| - |
83 |
| - |
84 | 141 | # Предотвращение ошибок
|
85 | 142 | 'semi': 'error',
|
86 | 143 | 'unicode-bom': 'warn',
|
|
104 | 161 |
|
105 | 162 | ## Классы
|
106 | 163 | 'no-this-before-super': 'error', // eslint:recommended
|
| 164 | +'constructor-super': 'error', // eslint:recommended |
107 | 165 |
|
108 | 166 |
|
109 | 167 | ## Объявление переменных и функций
|
|
0 commit comments