Будь я проклят, я не один из догматических правил. В некоторых ситуациях я предпочитаю компактность, если она не работает на определенной ширине, например:
if(x > y) { xIsGreaterThanY(); }
else if(y > x) { yIsGreaterThanX; }
else { xEqualsY(); }
Это гораздо более читабельно для меня, чем:
if( x > y ){
xIsGreaterThanY();
}else if( x < y){
yIsGreaterThanX();
}else{
xEqualsY();
}
Это дает дополнительное преимущество, заключающееся в поощрении людей абстрагировать логику в методы (как я это делал), а не в том, чтобы смешивать больше логики во вложенные блоки if-else. Кроме того, он занимает три строки, а не семь, что может позволить не выполнять прокрутку для просмотра нескольких методов или другого кода.