Knigionline.co » Компьютеры » Экстремальное программирование. Разработка через тестирование

Экстремальное программирование. Разработка через тестирование - Кент Бек (2003)

Экстремальное программирование. Разработка через тестирование
  • Год:
    2003
  • Название:
    Экстремальное программирование. Разработка через тестирование
  • Автор:
  • Жанр:
  • Оригинал:
    Английский
  • Язык:
    Русский
  • Перевел:
    П. Анджан
  • Издательство:
    Питер
  • Страниц:
    11
  • ISBN:
    978-5-496-02570-6
  • Рейтинг:
    2.3 (7 голос)
  • Ваша оценка:
Возвращение известнейшего блокбастера. Изысканный, гибкий и понятный код, который просто видоизменить, который тактично трудится и который не подкидывает собственным разработчикам досадных сюрпризов. Неуж-то аналогичное возможно? Дабы добиться цели, вспомните опробывать программку ещё до такого, как она написана. Как раз эта феноменальная мысль положена в базу способа TDD (Test-Driven-Development – разработка, базирующаяся на тестировании). Не торопитесь создавать скороспелые выводы. Рассматривая использование TDD на случае разработки реального программного кода, создатель показывает простоту и силу данной способа. В книжке приведены 2 программных плана, полностью и всецело реализованных с внедрением TDD. За рассмотрением примеров идет по стопам широкий каталог способов работы в манере TDD, а еще паттернов и рефакторингов, имеющих отношение к TDD. Книжка может быть полезна для разработчика программного обеспечения, желающего увеличить производительность собственной работы.

Экстремальное программирование. Разработка через тестирование - Кент Бек читать онлайн бесплатно полную версию книги

• с уменьшением количества неприятных сюрпризов менеджеры проекта смогут точнее оценить трудозатраты и вовлечь заказчиков в процесс разработки;

• если темы технических дискуссий будут четко определены, программисты смогут взаимодействовать друг с другом постоянно, а не раз в день или раз в неделю;

• и снова при достаточно низкой плотности дефектов мы сможем каждый день получать интегрированный рабочий продукт с добавленной в него новой функциональностью, благодаря чему мы сможем вступить с нашими заказчиками в деловые отношения совершенно нового типа.

Итак, идея проста, но в чем наш интерес? Почему программист должен взять на себя дополнительную обязанность писать автоматизированные тесты? Зачем программисту двигаться вперед малюсенькими шажками, когда его мозг в состоянии продумать гораздо более сложную структуру дизайна? Храбрость.

Храбрость

TDD – это способ управления страхом в процессе программирования. Я не имею в виду страх падения со стула или страх перед начальником. Я имею в виду страх перед задачей, «настолько сложной, что я пока понятия не имею, как ее решить». Боль – это когда природа говорит нам: «Стоп!», а страх – это когда природа говорит нам: «Будь осторожен!» Осторожность – это совсем не плохо, однако помимо пользы страх оказывает на нас некоторое негативное влияние:

• страх заставляет нас заблаговременно и тщательно обдумывать, к чему может привести то или иное действие;

• страх заставляет нас меньше общаться;

• страх заставляет нас пугаться отзывов о нашей работе;

• страх делает нас раздражительными.

Ничего из этого нельзя назвать полезным для процесса программирования, особенно если вы работаете над сложной задачей. Итак, перед нами встает вопрос, как выйти из сложной ситуации и

• не пытаться предсказать будущее, а немедленно приступить к практическому изучению проблемы;

• не отгораживаться от остального мира, а повысить уровень коммуникации;

• не избегать откликов, а, напротив, установить надежную обратную связь и с ее помощью тщательно контролировать результаты своих действий;

• (с раздражением вы должны справиться самостоятельно).

Сравним программирование с подъемом ведра из колодца. Ведро наполнено водой, вы вращаете рычаг, наматывая цепь на ворот и поднимая ведро наверх. Если ведро небольшое, вполне подойдет обычный, свободно вращающийся ворот. Но если ведро большое и тяжелое, вы устанете прежде, чем поднимете его. Чтобы получить возможность отдыхать между поворотами рычага, необходим храповой механизм, позволяющий фиксировать рычаг. Чем тяжелее ведро, тем чаще должны следовать зубья на шестеренке храповика.

Тесты в TDD – это зубья на шестеренке храповика. Заставив тест работать, мы знаем, что теперь тест работает, отныне и навеки. Мы стали на шаг ближе к завершению работы, чем были до того, как тест заработал. После этого мы заставляем работать второй тест, затем третий, четвертый и т. д. Чем сложнее проблема, стоящая перед программистом, тем меньше функциональных возможностей должен охватывать каждый тест.

Читатели книги Extreme Programming Explaine[1], должно быть, обратили внимание на разницу в тоне между экстремальным программированием (Extreme Programming, XP) и разработкой через тестирование (Test-Driven Development, TDD). В отличие от XP методика TDD не является абсолютной. XP говорит: «чтобы двигаться дальше, вы обязаны освоить это и это». TDD – менее конкретная методика. TDD предполагает наличие интервала между принятием решения и получением результатов, и предлагает инструменты управления продолжительностью этого интервала. «Что, если в течение недели я буду проектировать алгоритм на бумаге, а затем напишу код, использовав подход “сначала тесты”? Будет ли это соответствовать TDD?» Конечно, будет. Вы знаете величину интервала между принятием решения и оценкой результатов и осознанно контролируете этот интервал.

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий