По мере необходимости можно писать комментарии для пометки назначения какого-либо куска кода или причины выбора того или иного решения, которое может быть неочевидными, пометки для заказчика, если код при определённых условиях должен быть изменён. Комментировать всё не нужно.
По мере необходимости можно писать комментарии для пометки назначения какого-либо куска кода или причины выбора того или иного решения, которое может быть неочевидными, пометки для заказчика, если код при определённых условиях должен быть изменён. Комментировать всё не нужно.
Для русскоязычных проектов комментарии пишутся на русском языке, для иностранных - на английском.
Для русскоязычных проектов комментарии пишутся на русском языке, для иностранных - на английском.
- Переносите атрибуты новую строку, если их много и/или значения длинные.
- Переносите атрибуты новую строку, если их много и/или значения длинные.
```pug
```pug
//- Плохо
//- Плохо
input.input-text(type='text' name='project' value='zk' data-required='Это поле обязательно для заполнения!' data-hint='Допустимы только символы латинского алфавита `[a-z-A-Z]` и числа `[0-9]`.' required)
input.input-text(type='text' name='project' value='zk' data-required='Это поле обязательно для заполнения!' data-hint='Допустимы только символы латинского алфавита `[a-z-A-Z]` и числа `[0-9]`.' required)
...
@@ -135,6 +139,7 @@ input.input-text(
...
@@ -135,6 +139,7 @@ input.input-text(
## 5. Переносы строк
## 5. Переносы строк
- Добавляйте перенос строки для однотипных блоков с множественным вложением элементов. В лучшем случае используйте [примесь (mixin)](http://jade-lang.com/reference/#mixins).
- Добавляйте перенос строки для однотипных блоков с множественным вложением элементов. В лучшем случае используйте [примесь (mixin)](http://jade-lang.com/reference/#mixins).
```pug
```pug
//- Плохо
//- Плохо
.project
.project
...
@@ -163,6 +168,7 @@ input.input-text(
...
@@ -163,6 +168,7 @@ input.input-text(
```
```
- Строчные элементы можно записывать на одной строке через двоеточие `:`.<br>Не злоупотреблять с длинными классами.
- Строчные элементы можно записывать на одной строке через двоеточие `:`.<br>Не злоупотреблять с длинными классами.
```pug
```pug
//- Хорошо
//- Хорошо
ul.nav
ul.nav
...
@@ -183,6 +189,7 @@ ul.nav
...
@@ -183,6 +189,7 @@ ul.nav
## 6. Комментарии
## 6. Комментарии
- Комментарии в Jade, которые не должны попасть в HTML записываются через `//-`.
- Комментарии в Jade, которые не должны попасть в HTML записываются через `//-`.
```pug
```pug
// Этот комментарий попадёт в HTML.
// Этот комментарий попадёт в HTML.
...
@@ -190,6 +197,7 @@ ul.nav
...
@@ -190,6 +197,7 @@ ul.nav
```
```
- Простые или условные комментарии можно записывать прямо в HTML-формате.
- Простые или условные комментарии можно записывать прямо в HTML-формате.
По сравнению с тегом `<link>` правило `@import` медленнее, создает дополнительные запросы и может вызвать иные непредвиденные проблемы. Избегайте это правило и используйте вместо него один из альтернативных подходов:
По сравнению с тегом `<link>` правило `@import` медленнее, создает дополнительные запросы и может вызвать иные непредвиденные проблемы. Избегайте это правило и используйте вместо него один из альтернативных подходов:
...
@@ -294,7 +292,6 @@ input[type="text"] {
...
@@ -294,7 +292,6 @@ input[type="text"] {
</style>
</style>
```
```
## <a name='#css-media-queries'>Место для media query</a>
## <a name='#css-media-queries'>Место для media query</a>
Помещайте медиавыражения настолько близко к соответствующим наборам правил, насколько это возможно. Не объединяйте их в отдельную таблицу стилей. Не помещайте их в конце файла, для этого можно использовать специальный сборщик в [Grunt](https://www.npmjs.org/package/grunt-combine-media-queries) или [Gulp](https://www.npmjs.org/package/gulp-combine-media-queries). В противном случае это приведет к тому, что медиавыражения будут не замечены в будущем.
Помещайте медиавыражения настолько близко к соответствующим наборам правил, насколько это возможно. Не объединяйте их в отдельную таблицу стилей. Не помещайте их в конце файла, для этого можно использовать специальный сборщик в [Grunt](https://www.npmjs.org/package/grunt-combine-media-queries) или [Gulp](https://www.npmjs.org/package/gulp-combine-media-queries). В противном случае это приведет к тому, что медиавыражения будут не замечены в будущем.
Такой файл может храниться в системе контроля версий проекта, что позволит всем его разработчикам использовать одну и ту же конфигурацию.
Такой файл может храниться в системе контроля версий проекта, что позволит всем его разработчикам использовать одну и ту же конфигурацию.
В каждом проекте Золотого Кода в корне находится файл конфигурации `.editorconfig`. В нем уже описано большинство соглашений по форматированию кода. Все что вам требуется - настроить свой редактор для работы с ним.
В каждом проекте Золотого Кода в корне находится файл конфигурации `.editorconfig`. В нем уже описано большинство соглашений по форматированию кода. Все что вам требуется - настроить свой редактор для работы с ним.