Цитата:
Сообщение от
kashperuk
...
И если код получается более читабельным
...
А еще иногда код приходиться править (для расширения функциональности). А еще бывает задача переноса на более свежий СП модифицированного кода. Именно поэтому рекомендуется ставить после IF скобки, даже если за ним следует один оператор всего. Чтобы свой кусок кода можно было просто и быстро вставить, нормально при этом откоментировав. Это не я придумал. Просто взял на вооружение. Видел нелепые и обидные ошибки на невнимательность, связанные именно с этим примером при модификации чужого кода. А не ошибается только тот, кто ничего не делает. Значит это просто лишний повод.
Сравните.
X++:
...
if (x < 0) throw error ("Error");
if (x == 0) return true;
...
и
X++:
...
// GLIBS: Some modification -->
// if (x < 0) throw error ("Error");
if (x < 0)
{
this.doSomething();
throw error ("Error");
}
// GLIBS: Some modification <--
if (x == 0) return true;
...
И следующие два примера.
X++:
...
if (x < 0)
{
throw error ("Error");
}
if (x == 0)
{
return true;
}
...
и
X++:
...
if (x < 0)
{
// GLIBS: Some modification -->
this.doSomething();
// GLIBS: Some modification <--
throw error ("Error");
}
if (x == 0)
{
return true;
}
...
Если не комментировать — крышу сорвет при попытке разобраться в изменениях в коде (при том же переходе на новую версию, например, или при изучении чужих модификаций).
Если комментировать, то очень тяжело пользоваться функцией сравнения кода.
Так что mono прав, IMHO. А ВР нужно соблюдать.