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

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

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

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

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

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

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 7 8 9 10 11 12 < 13 > 14 15 16 17 18 19 .. 426 >> Следующая

более забавна и поставляется без 30-дневной гарантии с
возможностью возврата денег.
Вот алгоритм, позволяющий добраться до чьего-то дома:
поезжайте по шоссе 167 на юг до городка Пюиолап. Сверните на
аллею Сауз-Хилл, а дальше 4,5 мили вверх по холму. Поверните у
продуктового магазина направо, а на следующем перекрестке -
налево. Доехав до дома 714, расположенного на левой стороне
улицы, остановитесь и выходите из автомобиля.
А эвристическое правило может быть таким: найдите наше
Перекрестная ссылка Ш ис
последнее письмо. Езжайте в город, указанный на конвер-
пользовании эвристики
при
те. Оказавшись в этом городе, спросите кого-нибудь, где
проектировании ПО см,
подраз-
находится наш дом. Все нас знают - кто-нибудь с радос- Двл
"Проектирование - эври-
тью вам поможет. Если никого не встретите, позвоните нам
стичешИ процесс* раздела
ЪЛ.
из телефона-автомата, и мы за вами приедем.
Различия между алгоритмом и эвристикой тонки, и в чем-то эти
два понятия перекрываются. В этой книге основным различием
между ними я буду считать степень косвенности решения.
Алгоритм предоставляет вам сами команды. Эвристика сообщает
вам, как обнаружить команды самостоятельно или по крайней мере
где их искать.
Наличие директив, точно определяющих способ решения проблем
программирования, непременно сделало бы программирование более
легким, а результаты более предсказуемыми. Но наука
программирования еще не продвинулась так далеко, а может,
этого никогда и не случится. Самая сложная часть программиро-
вания - концептуализация проблемы, и многие ошибки
программирования являются концептуальными. С концептуальной
точки зрения каждая программа уникальна, поэтому трудно или
даже невозможно разработать общий набор директив, приводящих к
решению во всех случаях. Так что знание общего подхода к
проблемам не менее, а то и более ценно, чем знание точных
решений конкретных проблем.
Как использовать метафоры, характеризующие разработку ПО?
Используйте так, чтобы лучше разобраться в проблемах и
процессах программирования, чтобы они помогали вам размышлять
о выполняемых действиях и придумывать лучшие решения задач.
Конечно, вы не сможете взглянуть на строку кода и сказать, что
она противоречит одной из метафор, описываемых в этой главе.
Но со временем тот, кто использует метафоры, лучше поймет
программирование и будет быстрее создавать более эффективный
код, чем тот, кто их не использует.
2-403
1 2 ЧАСТЬ I Основы разработки ПО
2.3. Популярные метафоры,
характеризующие разработку ПО
Множество метафор, описывающих разработку ПО, смутит кого
угодно. Дэвид Грайс утверждает, что написание ПО - это наука
(Gries, 1981). Дональд Кнут считает это искусством (Knuth,
1998). Уоттс Хамфри говорит, что это процесс (Humphrey, 1989).
Ф. Дж. Плоджер и Кент Бек утверждают, что разработка ПО похожа
на управление автомобилем, однако приходят к почти
противоположным выводам (Plauger, 1993, Beck, 2000). Алистер
Кокберн сравнивает разработку ПО с игрой (Cockburn, 2002),
Эрик Реймонд - с базаром (Raymond, 2000), Энди Хант (Andy
Hunt) и Дэйв Томас (Dave Thomas) - с работой садовника, Пол
Хекель - со съемкой фильма "Белоснежка и семь гномов" (Heckel,
1994). Фред Брукс упоминает фермерство, охоту на оборотней и
динозавров, завязших в смоляной яме (Brooks, 1995). Какие
метафоры самые лучшие?
Литературная метафора: написание кода
Самая примитивная метафора, описывающая разработку ПО, берет
начало в выражении "написание кода". Согласно литературной
метафоре разработка программы похожа на написание письма: вы
садитесь за стол, берете бумагу, перо и пишете письмо с начала
до конца. Это не требует никакого формального планирования, а
мысли, выражаемые в письме, формулируются автором по ходу
дела.
На этой метафоре основаны и многие другие идеи. Джон Бентли
(Jon Bentley) говорит, что программист должен быть способен
сесть у камина со стаканом бренди, хорошей сигарой, охотничьей
собакой у ног и "сформулировать программу" подобно тому, как
писатели создают романы. Брайан Керниган и Ф. Дж. Плоджер
назвали свою книгу о стиле программирования "The Elements of
Programming Style" (Kernighan and Plauger, 1978), обыгрывая
название книги о литературном стиле "The Elements of Style"
(Strunk and White, 2000). Программисты часто говорят об
"удобочитаемости программы".
Индивидуальную работу над небольшими проектами метафора
написания письма характеризует довольно точно, но в целом она
описывает разработку ПО неполно и неадекватно. Письма и романы
обычно принадлежат перу одного человека, тогда как над
программами обычно работают группы людей с разными сферами
ответственности. Закончив писать письмо, вы запечатываете его
в конверт и отправляете. С этого момента изменить вы его не
можете, и письмо во всех отношениях является завершенным.
Изменить ПО не так уж трудно, и вряд ли работу над ним можно
когда-нибудь признать законченной. Из общего объема работы над
Предыдущая << 1 .. 7 8 9 10 11 12 < 13 > 14 15 16 17 18 19 .. 426 >> Следующая