Skip to content

Commit 4f2f850

Browse files
committed
Исправляет ошибки и добавляет примеры в кодгайд по JS
1 parent 72571c2 commit 4f2f850

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

javascript.html

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -82,39 +82,50 @@ <h3 id="">Отступы, пробелы и переносы</h3>
8282

8383
<p>После запятой всегда должен ставиться пробел, если запятая не в конце строки</p>
8484

85-
<p>Запрещено переносить запятую на новую строку при создании множественных переменных через один var, при объявлении массивов и объектов. Запрещено использовать запятую в конце списков, объектов или наоборов параметров функции</p>
85+
<p>Запрещено переносить запятую на новую строку при объявлении массивов и объектов. Запрещено использовать запятую в конце списков, объектов или перечислений параметров функции</p>
8686

8787
<p>Файл должен заканчиваться пустой строкой</p>
8888

8989
<p>Строка не должна заканчиваться пробелами</p>
9090

91-
<p>В однострочных объектах и при деструктуризации фигурные скобки отбиваются пробелами с двух сторон</p>
91+
<p>В однострочных объектах и при деструктуризации фигурные скобки не отделяются пробелами от содержимого</p>
92+
<pre class="language-js language-incorrect"><code>var foo = { a: 1 };
93+
</code></pre>
94+
95+
<pre class="language-js language-correct"><code>var foo = {a: 1};
96+
</code></pre>
97+
98+
<pre class="language-js language-iccorrect"><code>const { a, b } = someObject;
99+
</code></pre>
100+
101+
<pre class="language-js language-correct"><code>const {a, b} = someObject;
102+
</code></pre>
92103

93104
<p>В коде не используются совместно табы и пробелы</p>
94105

95-
<p>Блоки кода отделяются друг от друга не более чем двумя пустыми строками</p>
106+
<p>Смысловые блоки кода отделяются друг от друга не более чем двумя пустыми строками</p>
96107

97108
<p>В качестве символа переноса строки используется стандартный символ, который используется в системе</p>
98109

99110
<p>При объявлении вычисляемых ключей в объектах с помощью синтаксиса ES2016 в квадратных скобках не используются пробелы</p>
100111

101-
<p>Оператор вызова функции <code>()</code> не отделяется круглыми скобками от названия функции</p>
112+
<p>Оператор вызова функции <code>()</code> не отделяется пробелами от названия функции</p>
102113

103114
<p>В объектах после объявления ключа не ставится пробел. После двоеточия, которое отделяет в объектах ключ от значения может стоять только один пробел, выравнивать несколько значений при объявлении многострочного объекта запрещено</p>
104115

105116
<p>Ключевые слова отделяются пробелами. Правило касается всех блоков, которые не оговорены отдельно в других правилах. В частности ключевые слова должны отделяться пробелами для условных операторов, циклов, операторов множественного выбора, блоков <code>try..catch</code>, объявлений классов и т. д.</p>
106117

107118
<p>В блоках кода первая и последняя строка не должны быть пустыми (код не отбивается от начала блока кода)</p>
108119

109-
<p>После двоеточий и точек с запятым ставятся пробелы. Перед ними — не ставятся</p>
120+
<p>После двоеточий и точек с запятыми ставятся пробелы. Перед ними — не ставятся</p>
110121

111122
<p>Перед скобками начинающими новый блок кода должен ставиться пробел</p>
112123

113124
<p>При объявлении анонимных функций, скобки с параметрами отделаются пробелом от ключевого слова <code>function</code>. Если функция именована, перед названием ставится пробел, после — нет</p>
114125

115126
<p>В комментариях текст отбивается пробелом от начала комментария</p>
116127

117-
<p>При создании генераторов, звездочка идет сразу после ключевого слова <code>function</code> без пробелов</p>
128+
<p>При создании генераторов, звездочка идёт сразу после ключевого слова <code>function</code> без пробелов</p>
118129

119130
<p>В spread-операторе точки не отделяются от названия коллекции</p>
120131

@@ -222,10 +233,10 @@ <h2>Предотвращение ошибок</h2>
222233
<div class="chapter-part-col chapter-part-col--full-width">
223234
<h3 id="">Условные операторы</h3>
224235
<p>Запрещена «проверка Йоды» — в условных операторах в блоке условия при сравнении переменной или свойства со значением сначала идет переменная или свойство объекта и только потом значения, а не наоброт.
225-
<pre class="language-js language-incorrect"><code>if (1 === myValue) {}
236+
<pre class="language-js language-incorrect"><code>if (1 === myValue) { /*...*/ }
226237
</code></pre>
227238

228-
<pre class="language-js language-correct"><code>if (myValue === 1) {}
239+
<pre class="language-js language-correct"><code>if (myValue === 1) { /*...*/ }
229240
</code></pre></p>
230241

231242
<p>При сравнении двух значений используется оператор строгого сравнения вместо оператора нестрогого сравнения</p>
@@ -247,7 +258,7 @@ <h3 id="">Условные операторы</h3>
247258
<h3 id="">Функции</h3>
248259
<p>Если в функции используется ветвление, в котором есть возврат значения (<code>return</code>), <code>return</code> должен быть добавлен и в остальных ветках.</p>
249260

250-
<pre class="language-js language-incorrect"><code>var do = function() {
261+
<pre class="language-js language-incorrect"><code>var doThings = function() {
251262
if (cond) {
252263
return 1;
253264
} else {
@@ -256,7 +267,7 @@ <h3 id="">Функции</h3>
256267
};
257268
</code></pre>
258269

259-
<pre class="language-js language-correct"><code>var do = function() {
270+
<pre class="language-js language-correct"><code>var doThings = function() {
260271
if (cond) {
261272
return 1;
262273
} else {
@@ -285,7 +296,7 @@ <h3 id="">Операторы</h3>
285296
<article class="chapter-part">
286297
<div class="chapter-part-col chapter-part-col--full-width">
287298
<h3 id="">Объявление переменных и функций</h3>
288-
<p>При объявлении переменных предпочтение отдается ключевым словам <code>let</code> и <code>const</code>. Переменные объявляются через <code>var</code> только при наличии проблем с поддержкой кода</p>
299+
<p>При объявлении переменных предпочтение отдается ключевым словам <code>let</code> и <code>const</code>. Переменные объявляются через <code>var</code> только при наличии проблем с поддержкой ES6</p>
289300

290301
<p>Запрещено переопределять с помощью ключевого слова ранее созданные переменные</p>
291302

@@ -433,7 +444,7 @@ <h3 id="">Неиспользуемый код</h3>
433444

434445
<p>В коде нет объявленных, но неиспользуемых переменных</p>
435446

436-
<p>В коде нет выражений, значения которых не записываются в переменные, параметры функций, свойства объектов и не передаются как параметры функций
447+
<p>В коде нет выражений, значения которых не записываются в переменные, параметры функций или свойства объектов и не передаются как параметры функций
437448

438449
<pre class="language-js language-incorrect"><code>check === true && doSomething();
439450
</code></pre>
@@ -503,7 +514,7 @@ <h2>Прочее</h2>
503514
</code></pre>
504515
</p>
505516

506-
<p>В коде не используются лейблы. Лейблы используются с конструкциями <code>break</code> и <code>continue</code> для направленного выхода из икла и могут привести к слишком сложному для понимания коду</p>
517+
<p>В коде не используются лейблы. Лейблы используются с конструкциями <code>break</code> и <code>continue</code> для направленного выхода из цикла и могут привести к слишком сложному для понимания коду</p>
507518

508519
<p>Блоки, использующиеся в коде должны описывать тело функции, условия, оператора <code>switch</code> и прочие конструкции относящиеся к группировке множественных операций. Блоки не должны использваться сами по себе, любой блок должен быть частью другого выражения</p>
509520

0 commit comments

Comments
 (0)