В моем примере нет потери пространства (в коде «до переделки» не проставлены 2 пустые строки для читаемости), но вообще я допускаю, что они будут. Это будет платой за читаемость. Я не гонюсь за минимализацией кода, мой приоритет — читаемость.
Я вас никоим образом не хочу оскорбить. Я выразил здесь лишь свое мнение. Кто такой Кармак не знаю. Я никого не банил и не собираюсь. Я ни о чем не кричу ни в какую сторону. Всегда стараюсь думать.
Объясню свой подход к разработке: основной ориентир качества — читаемость кода. Отсюда я, ДЛЯ СЕБЯ, выработал несколько принципов и решений относительно кодирования на JavaScript.
Вложенность — это плохо. Все, что больше 2-х уровней вложенности требует рефакторинга.
Как я избавляюсь от вложенности:
1. Досрочный возврат if (condition) return; в начале функции (именно поэтому — он является единственным исключением. так-как его основное назначение — убирать вложенность)
2. Вынос вложенного функционала в отдельные функции.
Схематичный пример:
function f1(){
if (условие){
for(цикл)
{
//....
}
}
//....
}
Превращается в:
function f1(){
if (условие){
f2();
}
//....
function f2(){
//....
}
}
А с учетом первого и в:
function f1(){
if (!условие) return;
f2();
//....
function f2(){
//....
}
}
Это мое мнение, такое же ИМХО как и у вас в статье. Вы показали свой подход, я свой. Я не говорю, что я прав, а вы не правы. Как говориться на вкус и цвет. Ваш вариант (лично мне) трудно читать, у себя в коде я не допускаю такой вложенности: if if for if.
Инициатива по снижению лимита покупок и дополнительному налогообложению интернет-покупок из-за рубежа исходит от АКИТ (Ассоциация компаний интернет торговли).
RequestAnimationFrame
на хабре есть перевод.Например,
На вскидку не знаю какой была бы здесь разница, если все обратно засунуть…
Объясню свой подход к разработке: основной ориентир качества — читаемость кода. Отсюда я, ДЛЯ СЕБЯ, выработал несколько принципов и решений относительно кодирования на JavaScript.
Вложенность — это плохо. Все, что больше 2-х уровней вложенности требует рефакторинга.
Как я избавляюсь от вложенности:
1. Досрочный возврат
if (condition) return;
в начале функции (именно поэтому — он является единственным исключением. так-как его основное назначение — убирать вложенность)2. Вынос вложенного функционала в отдельные функции.
Схематичный пример:
Превращается в:
А с учетом первого и в:
Это мое мнение, такое же ИМХО как и у вас в статье. Вы показали свой подход, я свой. Я не говорю, что я прав, а вы не правы. Как говориться на вкус и цвет. Ваш вариант (лично мне) трудно читать, у себя в коде я не допускаю такой вложенности:
if if for if
.И больше никак.
Страна должна знать героев в лицо: