Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
(, [, +, -, /, но если ваш файл первой строчкой начинается с чего-то, кроме открывающей круглой скобки — это, по меньшей мере, странно, и про стиль кодирования тут говорить уже глупо.+, может быть ещё и -, как правило в строках --i, ++i.i++,i--, но прежде всего стоит подумать, зачем оно такое в коде, если оно лежит вне условия for, где точки с запятыми обязательны. А если оно у вас необходимо, я уверен, что вы вполне понимаете где и зачем ставить точки с запятыми.(function(){
alert('a')
}())
(function(){
alert('b')
}())
(function(){
alert('a')
}())
(function(){
alert('b')
}())
;//a.js
(function(){
alert('a')
}())
;//b.js
(function(){
alert('b')
}())
void function(){
alert('a')
}()
void function(){
alert('b')
}()
messageProto
.clone()
.text( text )
[ above ? "appendTo" : "prependTo" ](document.body)
.fadeIn()
`clone/text` нужно заменить на метод `create` с явным созданием элемента (не clone). Вместо `appendTo/prependTo` более гибким решением являются placeholder элементы. Если будем ещё усложнять то тогда уже играют большую роль фреймворки, которые за нас многое что сделают и помогут организовать логику. Поэтому >2 и >4 не релевантные.1. Строки файла должны быть максимально независимы.
Причина проста: если при изменении одной строки требуется изменение других, то это повышает риск конфликтов при слиянии веток.
Также тут можно заметить лишний семиколон (точку с запятой). Единственная причина его появления в этом месте — слепое следование правилам стайл-гайда, не понимая его принципов.Где здесь автор «считает правильным отсутствие точки с запятой»?
В многострочных правилах, это действительно необходимо, чтобы добавляемые в конец строки не приводили к изменению уже существующих.
.icon {
display: inline-block;
width: 16px;
height: 16px; // добавили семиколон
background-image: url(/img/sprite.svg) // полезное изменение
}

vcs diff после добавления background-image. Т.е. автор показывает, что при полезном изменении всего одной строчки diff выдаст изменения в двух..icon--settings { background-position: -16px -16px }.icon {
display: inline-block;
width: 16px;
height: 16px;
background-image: url(/img/sprite.svg);
}Причина проста: если при изменении одной строки требуется изменение других, то это повышает риск конфликтов при слиянии веток. Каждый конфликт — это дополнительное иногда значительное время на его разрешение.
var перед каждой переменной:var a = 1;
var b = 2;
var c = 3;
По полученному классу «my-user__my-block-compact» сразу видно, что он склеен из двух кусков
Принципы написания кода