Кент Бек - Экстремальное программирование: Разработка через тестирование
Название: | Экстремальное программирование: Разработка через тестирование | |
Автор: | Кент Бек | |
Жанр: | Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Отладка, тестирование и оптимизация ПО, Программирование: прочее | |
Изадано в серии: | Библиотека программиста | |
Издательство: | Питер | |
Год издания: | 2017 | |
ISBN: | 978-5-496-02570-6 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Экстремальное программирование: Разработка через тестирование"
Возвращение знаменитого бестселлера. Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development – разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелые выводы. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой методики. В книге приведены два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD. Книга будет полезна для любого программиста, желающего повысить производительность своей работы и получить удовольствие от программирования.
К этой книге применимы такие ключевые слова (теги) как: тестирование,искусство программирования,разработка программного обеспечения
Читаем онлайн "Экстремальное программирование: Разработка через тестирование" (ознакомительный отрывок). Главная страница.
- 1
- 2
- 3
- . . .
- последняя (7) »
Кент Бек Экстремальное программирование: разработка через тестирование
Посвящается Синди: крыльям моей душиПрава на издание получены по соглашению с Addison-Wesley Longman. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги.
ISBN 978-0321146533 англ.
ISBN 978-5-496-02570-6
© 2003 by Pearson Education, Inc.
© Перевод на русский язык ООО Издательство «Питер», 2017
© Издание на русском языке, оформление ООО Издательство «Питер», 2017
© Серия «Библиотека программиста», 2017
Предисловие
Чистый код, который работает (clean code that works), – в этой короткой, но содержательной фразе, придуманной Роном Джеффризом (Ron Jeffries), кроется весь смысл методики разработки через тестирование (Test-Driven Development, TDD). Чистый код, который работает, – это цель, к которой стоит стремиться потому, что• это предсказуемый способ разработки программ. Вы знаете, когда работу можно считать законченной и не беспокоиться о длинной череде ошибок;
• дает шанс усвоить уроки, которые преподносит код. Если вы воспользуетесь первой же идеей, которая пришла в голову, у вас не будет шанса реализовать вторую, лучшую идею;
• улучшает жизнь пользователей ваших программ;
• позволяет вашим коллегам рассчитывать на вас, а вам – рассчитывать на них;
• писать такой код приятнее.
Но как получить чистый код, который работает? Многие силы мешают нам получить чистый код, а иногда не удается даже получить код, который просто работает. Чтобы избавиться от множества проблем, мы будем разрабатывать код, опираясь на автоматизированное тестирование. Такой стиль программирования называется разработкой через тестирование. Согласно этой методике
• новый код пишется только после того, как будет написан автоматический тест, завершающийся неудачей;
• любое дублирование устраняется.
Два простых правила, не правда ли? Однако они генерируют сложное индивидуальное и групповое поведение со множеством технических последствий:
• в процессе проектирования мы постоянно запускаем код и получаем представление о его работе, это помогает принимать правильные решения;
• мы сами пишем тесты, так как не можем ждать, что кто-то другой напишет тесты для нас;
• наша среда разработки должна быстро реагировать на небольшие модификации кода;
• дизайн программы должен базироваться на использовании множества автономных, слабо связанных компонентов, чтобы упростить тестирование кода.
Два упомянутых правила TDD определяют порядок этапов программирования.
1. Красный – напишите небольшой тест, который не работает, а возможно, даже не компилируется.
2. Зеленый – заставьте тест работать как можно быстрее, при этом не думайте о правильности дизайна и чистоте кода. Напишите ровно столько кода, чтобы тест сработал.
3. Рефакторинг – устраните из написанного кода любое дублирование.
Красный – зеленый – рефакторинг – это мантра TDD.
Если допустить, что такой стиль программирования возможен, можно предположить, что благодаря его использованию код будет содержать существенно меньше дефектов, кроме того, цель работы будет ясна всем, кто принимает в ней участие. Если так, тогда разработка только кода, необходимого для прохождения тестов, приводит также к социальным последствиям:
• при достаточно низкой плотности дефектов команда контроля качества (Quality Assurance, QA) сможет перейти от реагирования на ошибки к их предупреждению;
• с уменьшением количества неприятных сюрпризов менеджеры проекта смогут точнее оценить трудозатраты и вовлечь заказчиков в процесс разработки;
• если темы технических дискуссий будут четко определены, программисты смогут взаимодействовать друг с другом постоянно, а не раз в день или раз в неделю;
• и снова при достаточно низкой плотности дефектов мы сможем каждый день получать интегрированный --">- 1
- 2
- 3
- . . .
- последняя (7) »
Книги схожие с «Экстремальное программирование: Разработка через тестирование» по жанру, серии, автору или названию:
Джонсон М Харт - Системное программирование в среде Windows Жанр: Windows Год издания: 2005 |
Алексей Николаевич Ардашев - Базовая подготовка Спецназа. Экстремальное выживание Жанр: Спецслужбы Год издания: 2016 Серия: Выживание. Учись у Спецназа! |
Мартин Форд - Архитекторы интеллекта Жанр: Современные российские издания Год издания: 2019 Серия: Библиотека программиста |
Другие книги из серии «Библиотека программиста»:
Скотт Чакон, Бен Штрауб - Git для профессионального программиста Жанр: Программирование: прочее Год издания: 2016 Серия: Библиотека программиста |
Лоренс Ларс Свекис, Майке ван Путтен, Роб Персиваль - JavaScript с нуля до профи Жанр: Java, Java Script Год издания: 2023 Серия: Библиотека программиста |
Владстон Феррейра Фило, Пиктет Мото - Теоретический минимум по Computer Science Жанр: Околокомпьютерная литература Год издания: 2022 Серия: Библиотека программиста |
Яцек Галовиц - C++17 STL Стандартная библиотека шаблонов Жанр: Базы данных Год издания: 2018 Серия: Библиотека программиста |