Правила программирования на С и С++. Главы 1-6 - Помещайте более короткий блок условного оператора if/else первым
ОГЛАВЛЕНИЕ
Страница 64 из 93
57. Помещайте более короткий блок условного оператора if/else первым.
Часто бывает, что у оператора if/else одно предложение (или внутренний блок) короткое (обычно оператор для обработки ошибки), а другое, выполняющее собственно работу, - большое:
if ( некая_ошибка() )error( "ААААхххх!!!!" );
else
{
// Здесь следуют 30 строк кода
}
Всегда помещайте короткое предложение в начале. То есть, не делайте так: if ( !некая_ошибка() ){
// Здесь следуют 30 строк кода
}
else
error( "ААААхххх!!!!" );
Проблема заключается в том, что проверка в операторе if управляет else в той же степени, что и if. Если большой блок следует первым, то вероятность того, что вычисляться будет предложение else, расположенное на следующем экране или странице, довольно велика. И если я допустил в нем ошибку, то мне придется поломать голову над тем, как добраться до else. Если в это время if в поле зрения, то я знаю, как туда попасть.