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

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

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

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

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

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

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 14 15 16 17 18 19 < 20 > 21 22 23 24 25 26 .. 426 >> Следующая

технических проектов. Это хороший подход, потому что он
увеличивает число грамотных руководителей в мире. В следующем
подразделе приведено подробное обоснование важности выполнения
предварительных условий до начала конструирования.
Наконец, вы можете найти другую работу. Независимо от
экономических подъемов и спадов хороших программистов всегда
не хватает (BLS, 2002), а жизнь слишком коротка, чтобы тратить
ее на работу в отсталом учреждении при наличии множества
лучших вариантов.
йжтмтшт сведения Ряд
интересных вариаций на эту тему см. в классическом труде
Джеральда Вайнберга "The Psychology of Computer Programming*
(Weinberg, 1M).
ГЛАВА 3 Семь раз отмерь, один раз отрежь: предварительные
условия
25
Самый веский аргумент в пользу выполнения предварительных
условий перед началом конструирования
Допустим, вы уже забрались на гору определения проблемы,
прошли милю по пути выработки требований, сбросили грязную
одежду у фонтана архитектуры и искупались в чистых водах
подготовленности. Следовательно, вы знаете, что перед
реализацией системы нужно понимать, что и как она будет
делать.
Один из аспектов профессии разработчика - посвящение профанов
в особенности процесса разработки ПО. Этот раздел поможет вам
в общении с менеджерами и руководителями, еще блуждающих во
тьме. В нем подробно описан веский аргумент в пользу
адекватного определения требований и проектирования
архитектуры до начала кодирования, тестирования и отладки.
Изучите его, сядьте перед начальником и поговорите о процессе
программирования по душам.
Обращение к логике
Подготовка к проекту - одно из главных условий эффективного
программирования, и это логично. Объем планирования зависит от
масштаба проекта. С управленческой точки зрения, планирование
подразумевает определение сроков, числа людей и компьютеров,
необходимых для выполнения работ. С технической - планирование
подразумевает получение представления о создаваемой системе,
позволяющего не истратить деньги на создание неверной системы.
Иногда пользователи не четко знают, что желают получить, и для
определения их требований может понадобиться больше усилий,
чем хотелось бы. Как бы то ни было, это дешевле, чем создать
не то, что нужно, похерить результат и начать все заново.
До начала создания системы не менее важно подумать и о том,
как вы собираетесь ее создавать. Никому не хочется тратить
время и деньги на бесплодные блуждания по лабиринту.
Обращение к аналогии
Создание программной системы похоже на любой другой проект,
требующий людских и финансовых ресурсов. Возведение дома
начинается не с забивания гвоздей, а с создания, анализа и
утверждения чертежей. При разработке ПО наличие технического
плана означает не меньше.
Никто не наряжает новогоднюю елку, не установив ее. Никто не
разводит огонь, не открыв дымоход. Никто не отправляется в
долгий путь с пустым бензобаком. Никто не принимает душ в
одежде и не надевает носки после обуви. И т. д., и т. п.
Программисты - последнее звено пищевой цепи разработки ПО.
Архитекторы поглощают требования, проектировщики потребляют
архитектуру, а программисты - проект приложения.
Сравните пищевую цепь разработки ПО с реальной пищевой цепью.
В экологически чистой среде водные жучки служат пищей рыбам,
которыми в свою очередь питаются чайки. Это здоровая пищевая
цепь. Если на каждом этапе разработки ПО у вас будет здоровая
пища, результатом станет здоровый код, написанный довольными
программистами.

26 ЧАСТЬ I Основы разработки ПО
Если среда загрязнена, жучки плавают в ядерных отходах, а рыба
плещется в нефтяных пятнах. Чайкам не повезло больше всего:
находясь в конце пищевой цепи, они травятся и нефтью, и
ядерными отходами. Если ваши требования неудачны, они
отравляют архитектуру, которая в свою очередь травит процесс
конструирования. Результат? Раздражительные программисты и
полное изъянов ПО.
При планировании в высокой степени итеративного проекта вы до
начала конструирования должны определить важнейшие требования
и архитектурные элементы, влияющие на каждый конструируемый
фрагмент программы. Строителям, собирающимся строить поселок,
не нужна полная информация о каждом доме до начала возведения
первого дома, однако они должны исследовать место, составить
план канализации и электрических линий и т. д. Если строители
плохо подготовятся, канализационные трубы, возможно, придется
проводить в уже построенный дом.
Обращение к данным
Исследования последних 25 лет убедительно доказали выгоду
правильного выполнения проектов с первого раза и дороговизну
внесения изменений, которых можно было избежать.
Ученые из компаний Hewlett-Packard, IBM, Hughes Aircraft, TRW
и других организаций обнаружили, что исправление ошибки к
началу конструирования обходится в 10-100 раз дешевле, чем ее
устранение в конце работы над проектом, во время тестирования
приложения или после его выпуска (Fagan, 1976; Humphrey,
Snyder, and Willis, 1991; Leffingwell 1997; Willis et al.,
Предыдущая << 1 .. 14 15 16 17 18 19 < 20 > 21 22 23 24 25 26 .. 426 >> Следующая