Экстремальное программирование: разработка через тестирование

Экстремальное программирование: разработка через тестирование
Питер
артикул: 40100496
СОГЛАСНО НАШИМ ДАННЫМ, ЭТОТ ПРОДУКТ СЕЙЧАС НЕ ДОСТУПЕН
510.00 грн.
Доставка из: Украина
   Описание
[html]"Экстремальное программирование: разработка через тестирование" - возвращение знаменитого бестселлера Кента Бека "Extreme Programming Explained". Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development - разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелые выводы. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой методики. В книге приведены два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD. Книга будет полезна для любого программиста, желающего повысить производительность своей работы и получить удовольствие от программирования. Оглавление книги Кент Бек "Экстремальное программирование: разработка через тестирование" Предисловие..............................................................................................11Благодарности...........................................................................................16Введение...................................................................................................18Часть I. На примере денег.....................................................................21Глава 1. Мультивалютные деньги.................................................................22Глава 2. Вырождающиеся объекты..............................................................29Глава 3. Равенство для всех.........................................................................32Глава 4. Данные должны быть закрытыми....................................................36Глава 5. Поговорим о франках.....................................................................39Глава 6. Равенство для всех, вторая серия....................................................42Глава 7. Яблоки и апельсины.......................................................................47Глава 8. Создание объектов.........................................................................49Глава 9. Потребность в валюте.....................................................................53Глава 10. Избавление от двух разных версий times().....................................58Глава 11. Корень всего зла..........................................................................63Глава 12. Сложение, наконец-то..................................................................66Глава 13. Делаем реализацию реальной........................................................71Глава 14. Обмен валюты..............................................................................76Глава 15. Смешение валют...........................................................................81Глава 16. Абстракция, наконец-то!...............................................................85Глава 17. Ретроспектива денежного примера................................................89Что дальше?.......................................................................................................................... 89Метафора............................................................................................................................... 90Использование JUnit......................................................................................................... 91Метрики кода........................................................................................................................ 92Процесс................................................................................................................................... 93Качество тестов.................................................................................................................... 94Последний взгляд назад.................................................................................................... 95Часть II. На примере xUnit..................................................................... 97Глава 18. Первые шаги на пути к xUnit.........................................................98Глава 19. Сервируем стол (метод setUp).................................................... 104Глава 20. Убираем со стола (метод tearDown)............................................ 108Глава 21. Учет и контроль.......................................................................... 112Глава 22. Обработка неудачного теста........................................................ 115Глава 23. Оформляем тесты в набор........................................................... 118Глава 24. Ретроспектива xUnit................................................................... 123Часть III. Шаблоны разработки через тестирование........................ 125Глава 25. Шаблоны разработки через тестирование.................................... 126Тест.........................................................................................................................................126Изолированный тест (Isolated Test)...........................................................................128Список тестов (Test List)................................................................................................129Сначала тест (Test First).................................................................................................131Сначала оператор assert (Assert First).......................................................................132Тестовые данные (Test Data).........................................................................................134Понятные данные (Evident Data)................................................................................135Глава 26. Шаблоны красной полосы........................................................... 137Тест одного шага (One Step Test).................................................................................137Начальный тест (Starter Test).......................................................................................138Объясняющий тест (Explanation Test)......................................................................140Тест для изучения (Learning Test)...............................................................................141Еще один тест (Another Test)........................................................................................142Регрессионный тест (Regression Test)........................................................................142Перерыв (Break)................................................................................................................143Начать сначала (Do over)...............................................................................................144Дешевый стол, хорошие кресла (Cheap Desk, Nice Chair)..................................145Глава 27. Шаблоны тестирования.............................................................. 146Дочерний тест (Child Test).............................................................................................146Поддельный объект (Mock Object).............................................................................147Самошунтирование (Self Shunt)..................................................................................148Строка-журнал (Log String)..........................................................................................150Тестирование обработки ошибок (Crush Test Dummy).......................................151Сломанный тест (Broken Test).....................................................................................152Чистый выпускаемый код (Clean Check-in)............................................................152Глава 28. Шаблоны зеленой полосы........................................................... 154Подделка (Fake It)............................................................................................................154Триангуляция (Triangulate)...........................................................................................156Очевидная реализация (Obvious Implementation)................................................157От одного ко многим (One to Many)..........................................................................158Глава 29. Шаблоны xUnit.......................................................................... 160Проверка утверждений...................................................................................................160Фикстура (Fixture)...........................................................................................................162Внешняя фикстура (External Fixture).......................................................................164Тестовый метод (Test Method)......................................................................................165Тест исключения (Exception Test)...............................................................................167Все тесты (All Tests).........................................................................................................168Глава 30. Шаблоны проектирования.......................................................... 169Команда (Command)........................................................................................................171Объект-значение (Value Object)..................................................................................172Нуль-объект (Null Object).............................................................................................174Шаблонный метод (Template Method)......................................................................175Встраиваемый объект (Pluggable Object).................................................................176Встраиваемый переключатель (Pluggable Selector)..............................................178Фабричный метод (Factory Method)..........................................................................180Самозванец (Imposter)....................................................................................................181Компоновщик (Composite)............................................................................................182Накапливающий параметр (Collecting Parameter)................................................184Одиночка (Singleton).......................................................................................................185Глава 31. Рефакторинг.............................................................................. 186Согласование различий (Reconcile Differences).....................................................187Изоляция изменений (Isolate Change)......................................................................188Миграция данных (Migrate Data)...............................................................................188Выделение метода (Extract Method)..........................................................................190Встраивание метода (Inline Method)..........................................................................191Выделение интерфейса (Extract Interface)..............................................................192Перемещение метода (Move Method)........................................................................193Метод в объект (Method Object).................................................................................194Добавление параметра (Add Parameter)....................................................................195Параметр метода в параметр конструктора(Method Parameter to Constructor Parameter).........................................................196Глава 32. Развитие навыков TDD............................................................... 197Насколько большими должны быть шаги?..............................................................197Что не подлежит тестированию?.................................................................................198Как определить качество тестов?................................................................................198Как TDD способствует созданию инфраструктур?..............................................199Сколько должно быть тестов?......................................................................................200Когда следует удалять тесты?.......................................................................................202Как язык программирования и среда разработки влияют на TDD?...............203Можно ли использовать TDD для разработкикрупномасштабных систем?..........................................................................................203Можно ли осуществлять разработку через тестирование на уровнеприложения?.......................................................................................................................204Как перейти к использованию TDD в середине работы над проектом?........205Для кого предназначена методика TDD?.................................................................206Зависит ли эффективность TDD от начальных условий?.................................207Как методика TDD связана с шаблонами?..............................................................207Почему TDD работает?...................................................................................................208Что означает название?...................................................................................................210Как методика TDD связана с практиками экстремальногопрограммирования?.........................................................................................................210Нерешенные проблемы TDD........................................................................................212Приложение I. Диаграммы взаимовлияния................................................. 213Обратная связь...................................................................................................................214Контроль над системой...................................................................................................215Приложение II. Фибоначчи....................................................................... 217Послесловие............................................................................................ 220[/html]
   Характеристики
categoryTitle: Научная и техническая литература
   График изменения цены & курс обмена валют

Пользователи также просматривали