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

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

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

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

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

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

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

такого стиля скобок:
for ( . . . )
{
}
Странно, что ты вообще упомянул такой стиль скобок, как этот:
for ( ...) {
}
Я думал, что, поскольку и я, и Тони приводили доводы в пользу
первого стиля, ты предпочтешь его".
718
ЧАСТЬ VII Мастерство программирования
Я ответил: "Ты, наверное, имел в виду, что ты ратовал за
применение первого стиля, а Тони - второго, не так ли? Тони
приводил доводы в пользу второго стиля, а не первого".
Хенк ответил: "Забавно. В последнем проекте, над которым Тони
и я работали вместе, я предпочитал использовать стиль №2, а
Тони - №1. Весь проект мы спорили о том, какой стиль лучше.
Полагаю, мы уговорили друг друга предпочесть противоположный
стиль!"
Этот случай, а также исследования, процитированные выше,
позволяют предположить, что структура помогает экспертам
воспринимать, осмысливать и запоминать важные свойства
программ. Опытные программисты часто упорно цепляются за
собственный стиль, даже если он очень сильно отличается от
стиля, применяемого другими экспертами. Но практический
результат показывает, что детали конкретного способа
структурирования программы гораздо менее важны, чем сам факт
единообразного структурирования программы.
Форматирование как религия
Важное влияние, которое привычный способ структурирования
среды оказывает на процесс понимания и запоминания, заставило
исследователей выдвинуть такую гипотезу: если форматирование
отличается от схемы, используемой экспертами, оно может
повредить их способности читать программу (Sheil, 1981;
Soloway and Ehrlich, 1984). Такая возможность вкупе с не
только логическим, но и эстетическим значением форматирования
привела к тому, что дебаты вокруг форматирования программ
часто больше похожи на религиозные войны, а не на философские
диспуты.
Перекрестная ссылка Если вы смешиваете вопросы разработки ПО и
религии, прочтите раз* дел 34.9, прежде чт продолжить чтение
остальной части этой главы.
форматирования и признавать другие варианты, доказавшие свое
преимущество по отношению к использовавшимся ранее, даже если
при переходе к новым методам возникнет некоторый начальный
дискомфорт.
Религиозные] войны!
Грубо говоря, очевидно, что некоторые виды форматирования
лучше других. Последовательное улучшение фрагментов одного и
того же кода, показанное в начале этой главы, делает это
утверждение бесспорным. В этой книге я не буду избегать
деликатных вопросов о форматировании только потому, что они
спорны. Хорошие программисты должны непредвзято относиться к
привычным для них способам

ГЛАВА 31 Форматирование и стиль
719
Цели хорошего форматирования
Многие решения о том, как должно выглядеть хорошее фор-
ЭкШ(Шенты 8ЫЯВШ1Й хрул.
матирование, представляют собой субъективные эстетичес- шхъ
программистской щяи-
кие оценки; часто можно достичь одной и той же цели по-
фжсации: опытные
программно-
разному Вы можете сделать споры о субъективных вопро- ты имеют
спШтщтшпшт
сах менее субъективными, если явно укажете критерии ва- 0
T0Mt ш оглядеть
. " ^ , программы, и, если эти
убежде-
ших предпочтении. Говоря объективно, хорошая схема фор-
?_т^ш бН)
матирования должна делать следующие вещи. даже безобидными
способами,
Точно представлять логическую структуру кода Сно- ~~их
производительность радива повторим Основную теорему
форматирования: главная шьт УЭДша&тся.
цель хорошего форматирования - показать логическую Эллтт
СопоШ
структуру кода. Для демонстрации логической структуры $оШгу
программисты обычно применяют отступы и другие не- дод
отображаемые символы.
Единообразно показывать логическую структуру кода Некоторые
стили форматирования состоят из правил с таким количеством
исключений, что последовательно их соблюдать практически
невозможно. Действительно хороший стиль подходит в большинстве
случаев.
Улучшать читабельность Стратегия использования отступов,
соответствующая логике, но усложняющая процесс чтения кода,
бесполезна. Схема форматирования, использующая пробелы и
разделители только там, где они требуются компилятору,
логична, но читать такой код невозможно. Хорошая структура
форматирования упрощает чтение кода.
Выдерживать процедуру исправления Лучшие схемы форматирования
хорошо переносят модификацию кода. Исправление одной строки не
должно приводить к изменению нескольких других.
В дополнение к этим критериям иногда во внимание принимается и
задача минимизации количества строк кода, необходимых для
реализации простого выражения или блока.
Как воспользоваться принципами хорошего форматирования на
практике
Критерии хорошей схемы форматирования могут служить основой
для обсуждения возможных вариантов форматов, помогая отличить
субъективные причины в предпочтении одного стиля
форматирования перед другим
Оценка критерия с нескольких точек зрения может привести к
разным выводам. Так, если вы твердо убеждены, что минимизация
количества строк кода очень важна (вероятно, потому, что у вас
Предыдущая << 1 .. 344 345 346 347 348 349 < 350 > 351 352 353 354 355 356 .. 426 >> Следующая