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

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

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

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

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

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

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 332 333 334 335 336 337 < 338 > 339 340 341 342 343 344 .. 426 >> Следующая

? Имеет ли выбранная стратегия преимущества перед другими
подходами?
? Хорошо ли определены интерфейсы между компонентами?
(Определение интерфейсов не является задачей интеграции, а
проверка правильности их определения - является.)
Ежедневная сборка и дымовые тесты
? Выполняется ли сборка проекта достаточно часто (в идеале
каждый день), чтобы поддерживать инкрементную интеграцию?
? Выполняется ли дымовой тест для каждой сборки так, что вам
становится известно, находится ли сборка в рабочем
состоянии?
? Автоматизированы ли сборка и дымовой тест?
? Часто ли разработчики регистрируют свой код: не превышает
ли время между
исправлениями день или два?
? Поддерживается ли дымовой тест в соответствии с кодом,
расширяясь при его расширении?
? Редко ли происходит нарушение работоспособности сборки?
? Выполняете ли вы сборку и дымовой тест даже в экстремальных
обстоятельствах?
Дополнительные ресурсы
Вопросам, обсуждаемым в этой главе, посвящены следующие
публикации. http://cc2e.com/2999
Интеграция
Lakos, John. Large-Scale C++ Software Design. Boston, MA:
Addison-Wesley, 1996. Лей- кос доказывает, что "физическое
представление" системы - иерархия файлов, каталогов и
библиотек - заметно влияет на способность команды разработчи
692 ЧАСТЬ VI Системные вопросы
ков скомпилировать ПО. Если вы не обращаете должного внимания
на физическое представление, то время сборки проекта может
стать довольно долгим, что сведет на нет преимущества частой
интеграции. Лейкос пишет о C++, но выводы, относящиеся к
"физическому представлению" актуальны, и для проектов на дру-
гих языках.
Myers, Glenford J. The Art of Software Testing. New York, NY:
John Wiley & Sons, 1979. В этой классической книге о
тестировании интеграция рассматривается как операция
тестирования.
Инкрементный подход
McConnell, Steve. Rapid Development. Redmond, WA: Microsoft
Press, 1996. В главе 7 (Lifecycle Planning) "Планирование
жизненного цикла" подробно рассмотрены плюсы и минусы более
гибких и менее гибких моделей жизненного цикла. В главах 20,
21, 35 и 36 обсуждаются конкретные модели жизненных циклов,
поддерживающие инкрементный подход в разной степени. Глава 19
содержит описание "проектирования с поддержкой изменений"
(designing for change) - ключевой методики, необходимой для
поддержки интерактивной и инкрементной моделей разработки.
Boehm, Barry W. "А Spiral Model of Software Development and
Enhancement". Computer, May 1988: 61-72. В этой статье Бом
описывает свою "спиральную модель" разработки ПО. Он
предлагает эту модель в качестве подхода к управлению рисками
в программном проекте, поэтому статья больше касается
разработки в целом, чем конкретно интеграции. Бом - один из
выдающихся экспертов в области масштабных вопросов разработки
ПО, и доходчивость его объяснений отражает глубину его
понимания темы.
Gilb, Tom. Principles of Software Engineering Management.
Wokingham, England: Addison- Wesley, 1988. Главы 7 и 15
содержат исчерпывающее обсуждение эволюционной поставки -
одного из первых подходов к инкрементной разработке.
Beck, Kent. Extreme Programming Explained: Embrace Change.
Reading, MA: Addison- Wesley, 2000. Эта книга содержит более
современное, лаконичное и евангелическое представление
большинства идей, приведены в книге Гилба. Лично я отдаю
предпочтение глубокому анализу Гилба, но некоторые читатели
могут посчитать изложение Бека более доступным или применимым
непосредственно к тому типу проекта, над которым они работают.
Ключевые моменты
¦ Последовательность конструирования и интеграционный подход
влияют на порядок, в котором классы проектируются,
кодируются и тестируются.
¦ Порядок интеграции снижает затраты на тестирование и
упрощает отладку.
¦ Инкрементная интеграция имеет несколько вариантов, и, помимо
совсем тривиальных проектов, любой из них лучше, чем
поэтапная интеграция.
ГЛАВА 29 Интеграция 693
¦ Лучший интеграционный подход для каждого конкретного проекта
- обычно сочетание нисходящего, восходящего, риск-
ориентированного и других интеграционных подходов. Т-
образная интеграция и интеграция с вертикальным
секционированием часто дают хорошие результаты.
¦ Ежедневные сборки могут уменьшить проблемы с интеграцией,
улучшить моральный климат среди разработчиков и предоставить
полезную информацию, касающуюся управления проектом.
ГЛАВА 30
Инструменты
щщ шЩк w(r) шЩк ш ш ж шшм i in
программирования
Содержание
Шр://со2е.сош/3084 т
¦ 30.1. Инструменты для проектирования
¦ 30.2. Инструменты для работы с исходным кодом
¦ 30.3. Инструменты для работы с исполняемым
кодом
¦ 30.4. Инструменты и среды
¦ 30.5. Создание собственного программного
инструментария
¦ 30.6. Волшебная страна инструментальных
средств
Связанные темы
¦ Инструменты для управления версиями: раздел 28.2
¦ Инструменты для отладки: раздел 23.5
¦ Инструменты для облегчения тестирования: раздел 22.5
Современные инструменты сокращают время конструирования.
Предыдущая << 1 .. 332 333 334 335 336 337 < 338 > 339 340 341 342 343 344 .. 426 >> Следующая