|
Программирование >> Решение нетривиальных задач
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();
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |