Практика показывает, что хорошо работает следующий способ (не панацея!):
— блоки if, for и т.д. выделяются пустыми строками перед и после блока
— скобки ставятся всегда, даже если тело — один оператор
— открывающая скобка не переносится на новую строку
— если описание оператора разносится на несколько строчек — упростить, чтобы влезало на одну строку, любыми видами рефакторинга
пример:
function f1(a, b) {
if (a == 0) {
a *= f12() + f15(a);
b = f2(1, b);
if (b > 15) {
f4(a);
f5(b)
}
if (a > 17) {
f86(a);
}
return f6(a, b);
}
return f7(a, b);
}