Программирование >>  Решение нетривиальных задач 

1 ... 12 13 14 [ 15 ] 16 17 18 ... 77


if ( by land ) one();

else if ( by sea ) two(); else if ( by tunnel ) three();

но это - нечитаемо:

if (by land)one(); else if(by sea)two(); else if(by tunnel)three();

Подобный код никуда не годится:

for ( a ; b ; c ); while ( ++i < 10 );

Слишком просто случайно сделать следующее:

while ( i < 10 );

++i;

(Другими словами, вечно сравнивать i с 10, затем увеличить i ). Если точка с запятой никогда не ставится в конце строки, начинающейся с for или while, то вы можете использовать утилиту поиска строки типа grep для обнаружения таких проблем.

41.1. Комментарии должны иметь тот же отступ, что и окружающий текст программы

Абзацные отступы предназначены для того, чтобы сделать структуру вашей программы легко понятной. Если вы организуете отступы в комментариях беспорядочным образом, то этим вы лишите их смысла. Комментарий в следующей программе должен быть снабжен отступами:

f() {

/* Здесь идет ** длинный комментарий */

code();

Здесь имеется сходная проблема:

f() {

int local var; int another local var; code();

Отсутствие отступа при определении локальных переменных заставляет предположить, что они находятся в той же области видимости, что имя



* До каких же пор ты, Катилина, будешь испытывать наше терпение... - начало известной речи Цицерона. - Прим. перев.

функции (которая является глобальной). Так как это не так, то вы должны сделать отступ, чтобы указать на область видимости:

f() {

int local var;

int another local var;

code();

42. Выравнивайте скобки вертикально по левой границе

Иногда поиск отсутствующей фигурной скобки превращается в крупную проблему. Если вы вынесете скобки туда, где их хорошо видно, то их отсутствие будет сразу же заметно: while ( some condition )

внутренний блок

Я в самом деле не люблю так называемый стиль Кэрнигана и Ричи:

if( condition ){ code();

} else{

more code();

Здесь не только трудно проверить скобки на парность, но и отсутствие зрительного разделения за счет строк, содержащих лишь открытые скобки, ведет к ухудшению читаемости.

43. Используйте скобки, если в условном операторе имеется более, чем одна строка

Это правило применяется, если даже дополнительными строками является комментарий. Проблема заключается в том, что слишком легко случайно добавить другой оператор и забыть добавить скобки. Текст, подобный нижеследующему, более надежен:

if( something() ) {

*/ Quo usque tandem abutere Gatesalina, patientia nostra*.



somethig else();



1 ... 12 13 14 [ 15 ] 16 17 18 ... 77

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика