Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Совершенный код. Мастер-класс - Макконнелл С.

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 347 348 349 350 351 352 < 353 > 354 355 356 357 358 359 .. 426 >> Следующая

statementl; statement2;
break;
}
Этот стиль выравнивания вполне функционален. Он хорошо
выглядит, его можно применять единообразно, а также его удобно
сопровождать. Он соответствует Основной теореме форматирования
в том плане, что помогает показать логическую структуру кода.
Это вполне разумный вариант стиля. Такой стиль является
стандартом в Java и широко распространен в C++.
ГЛАВА 31 Форматирование и стиль
725
Использование пар begin-end (скобок) для обозначения границ
блока
Альтернативой структуре явного блока может служить
использование пар begin- end в качестве границ блока. (В
дальнейшем обсуждении пары begin-end применяются для общего
обозначения операторов begin-end, скобок и других эквива-
лентных языковых структур.) Если вы берете за основу этот
подход, то рассматриваете begin и end как операторы, следующие
за управляющей структурой, а не как фрагменты, являющиеся ее
частью. Графически это выглядит идеально, так же, как и при
эмуляции явного блока, приводимой еще раз в листинге 31-15:
Листинг 31-15. Абстрактный пример стиля форматирования явного
блока
Но для того, чтобы в новом стиле begin и end трактовались как
составные части структуры блока, а не управляющего выражения,
надо поместить begin в начало блока (а не в конец управляющего
выражения), a end - в конец блока (а не в качестве терминатора
управляющего выражения). Говоря абстрактно, вам нужно сделать
нечто, подобное структуре, изображенной в листинге 31-16:
Листинг 31-16. Абстрактный пример использования begin и end в
качестве границ блока
А
Несколько примеров использования begin и end в качестве границ
блоков, показано в листингах 31-17, 31-18 и 31-19:
Листинг 31-17. Пример применения begin и end в качестве границ
блока if (C++)
if ( pixelColor == Color_Red )
{
statements; statement2;
Листинг 31-18. Пример применения begin и end в качестве границ
блока while (C++)
while ( pixelColor == Color_Red )
{
statementl; statement2;
С
D
A
В

В
С

}
726 ЧАСТЬ VII Мастерство программирования
Листинг 31-19. Пример применения begin и end в качестве границ
блока switch/case (C++)
switch ( pixelColor )
{
case Color_Red: statementl; statement2;
break; case Color_Green: statementl; statement2;
break; default:
statementl; statement2;
break;
}
Такой стиль выравнивания также вполне функционален и
согласуется с Основной теоремой форматирования (напомним: он
показывает логическую структуру, лежащую в основе данного
кода). Единственное его ограничение в том, что его нельзя
применять буквально в операторах switch/case в C++ и Java, что
показано в листинге 31-19* (Ключевое слово break служит
заменой закрывающей скобке, а у открывающей скобки нет
эквивалента.)
Форматирование в конце строки
Еще одна стратегия форматирования называется "форматированием
в конце строки", и объединяет большую группу методик, в
которых отступ в коде делается к середине или концу строки.
Отступы в конце строки служат для выравнивания блока
относительно ключевого слова, с которого он начинается,
выравнивания следующих параметров метода под первым
параметром, размещения вариантов в операторе case и подобных
случаев. Листинг 31-20 представляет абстрактный пример:
Листинг 31-20. Абстрактный пример стиля форматирования в конце
строки

D ¦
В этом примере оператор А начинает управляющую конструкцию, а
оператор D завершает. Операторы В, С и D выровнены под
ключевым словом, с которого начинается блок в операторе А.
Одинаковые отступы В, С и D показывают, что эти операторы
сгруппированы вместе. Листинг 31-21 содержит менее абстрактный
пример кода, отформатированного в соответствии с этой
стратегией:
ГЛАВА 31 Форматирование и стиль
727
Листинг 31-21. Пример форматирования в конце строки в блоке
while (Visual Basic)
While ( pixelColor = Color_Red ) statementl; statement2;
Wend
В этом примере end помещен в конец строки, а не под
соответствующим ключевым словом. Некоторые предпочитают
располагать end под ключевым словом, но выбор между этими
двумя вполне приемлемыми вариантами - наименьшая из проблем
этого стиля.
Стиль форматирования в конце строки иногда работает вполне
удовлетворительно. Листинг 31-22 демонстрирует пример, в
котором этот стиль работает:
Листинг 31-22. Редкий пример, в котором форматирование в конце
строки выглядит привлекательно (Visual Basic)
If ( soldCount > 1000 ) Then
markdown =0.10 profit = 0.05
г- Ключевое слово else выровнено относительно слова then,
расположенного над ним.
L> Else
markdown =0.05 End If
В этом случае ключевые слова Then, Else и ?га/^выровнены, и
код, следующий за ними, также выровнен. Визуальный эффект
соответствует ясной логической структуре.
Критически взглянув на приводимый ранее пример оз^е-оператора,
вы, вероятно, сможете указать на недостаток данного стиля. По
мере усложнения условного выражения этот стиль начнет давать
бесполезные или обманчивые подсказки о логической структуре
Предыдущая << 1 .. 347 348 349 350 351 352 < 353 > 354 355 356 357 358 359 .. 426 >> Следующая