Кент Бек - Экстремальное программирование: Разработка через тестирование
Название: | Экстремальное программирование: Разработка через тестирование | |
Автор: | Кент Бек | |
Жанр: | Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Отладка, тестирование и оптимизация ПО, Программирование: прочее | |
Изадано в серии: | Библиотека программиста | |
Издательство: | Питер | |
Год издания: | 2017 | |
ISBN: | 978-5-496-02570-6 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Экстремальное программирование: Разработка через тестирование"
Возвращение знаменитого бестселлера. Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development – разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелые выводы. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой методики. В книге приведены два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD. Книга будет полезна для любого программиста, желающего повысить производительность своей работы и получить удовольствие от программирования.
К этой книге применимы такие ключевые слова (теги) как: тестирование,искусство программирования,разработка программного обеспечения
Читаем онлайн "Экстремальное программирование: Разработка через тестирование" (ознакомительный отрывок). [Страница - 6]
• Возможность – сочетание всеохватывающей, продуманной системы тестов и хорошо структурированной программы; язык программирования, обеспечивающий локализацию проектных решений и тем самым упрощающий идентификацию ошибок.
Мотив – это то, чем вы не можете управлять; сложно сказать, когда он у вас появится и заставит заняться техническим творчеством для решения бизнес-задач. Метод и возможность, с другой стороны, находятся под вашим полным контролем. Уорд и его команда создали метод и возможность благодаря таланту, опыту и дисциплине. Значит ли это, что, если вы не входите в десятку лучших разработчиков планеты и у вас нет приличного счета в банке (настолько приличного, чтобы попросить босса погулять, пока вы занимаетесь делом), такие подвиги не для вас?
Нет, вовсе нет. Всегда можно развернуть проект так, чтобы работа над ним стала творческой и интересной, даже если вы обычный разработчик и прогибаетесь под обстоятельства, когда приходится туго. Разработка через тестирование (Test-Driven Development, TDD) – это набор способов, ведущих к простым программным решениям, которые может применять любой разработчик, а также тестов, придающих уверенность в работе. Если вы гений, эти способы вам не нужны. Если вы тугодум – они вам не помогут. Для всех остальных, кто находится между этими крайностями, следование двум простым правилам поможет работать намного эффективнее:
• перед тем как писать любой фрагмент кода, создайте автоматизированный тест, который поначалу будет терпеть неудачу;
• устраните дублирование.
Как конкретно следовать этим правилам, какие существуют в данной области нюансы и какова область применимости этих способов – все это составляет тему книги, которую вы сейчас читаете. Вначале мы рассмотрим объект, созданный Уордом в момент вдохновения, – мультивалютные деньги (multi-currency money).
Часть I На примере денег
Мы займемся реализацией примера, разрабатывая код полностью на основе тестирования (кроме случаев, когда в учебных целях будут допускаться преднамеренные ошибки). Моя цель – дать вам почувствовать ритм разработки через тестирование (TDD). Кратко можно сказать, что TDD заключается в следующем:• Быстро создать новый тест.
• Запустить все тесты и убедиться, что новый тест терпит неудачу.
• Внести небольшие изменения.
• Снова запустить все тесты и убедиться, что на этот раз все тесты выполнились успешно.
• Провести рефакторинг для устранения дублирования.
Кроме того, придется найти ответы на следующие вопросы:
• Как добиться того, чтобы каждый тест охватывал небольшое приращение функциональности?
• Как и за счет каких небольших и, наверное, неуклюжих изменений обеспечить успешное прохождение новых тестов?
• Как часто следует запускать тесты?
• Из какого количества микроскопических шагов должен состоять рефакторинг?
1. Мультивалютные деньги
Вначале мы рассмотрим объект, созданный Уордом для системы WyCash, – мультивалютные деньги (см. «Введение»). Допустим, у нас есть отчет вроде этого.
Добавив различные валюты, получим мультивалютный отчет.
Также необходимо указать курсы обмена.
$5 + 1 °CHF = $10, если курс обмена 2:1
$5 * 2 = $10
Что нам понадобится, чтобы сгенерировать такой отчет? Или, другими словами, какой набор успешно выполняющихся тестов сможет гарантировать, что созданный код правильно генерирует отчет? Нам понадобится:
Книги схожие с «Экстремальное программирование: Разработка через тестирование» по жанру, серии, автору или названию:
Арнольд Роббинс - Linux программирование в примерах Жанр: Другие языки и системы программирования Год издания: 2005 |
Бьерн Страуструп - Программирование. Принципы и практика с использованием C++ Жанр: C, C++, C# Год издания: 2016 |
Л. Аммерал - Программирование графики на Турбо Си Жанр: Программирование графики Год издания: 1992 Серия: Машинная графика на языке Си |
Джеффри Фридл - Регулярные выражения. 2-е изд. Жанр: Литература ХXI века (эпоха Глобализации экономики) Год издания: 2003 Серия: Библиотека программиста |
Другие книги из серии «Библиотека программиста»:
Дэниел Г Грэм - Этичный хакинг практическое руководство по взлому Жанр: Хакерство Год издания: 2022 Серия: Библиотека программиста |
Скотт Чакон, Бен Штрауб - Git для профессионального программиста Жанр: Программирование: прочее Год издания: 2016 Серия: Библиотека программиста |
Владимир Силва - Разработка с использованием квантовых компьютеров Жанр: Программирование: прочее Год издания: 2020 Серия: Библиотека программиста |
Ферроне Харрисон - Изучаем C# через разработку игр на Unity Жанр: C, C++, C# Год издания: 2022 Серия: Библиотека программиста |