Возвращение знаменитого бестселлера. Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development — разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелые выводы. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой методики. В книге приведены два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD. Книга будет полезна для любого программиста, желающего повысить производительность своей работы и получить удовольствие от программирования.
Рафаил26.11.2021
Неплохая книжуля про TDD и не только, достаточно короткая (однотипные куски кода добавляют много страниц), не требует предварительной теории и имеет достаточно простой язык
Круто, что немало мыслей со стороны рассматривания методики прогания относится к софт скиллам, особенностей мышления, взаимоотношений, психологии. Прикольные лайфхаки типа закончить сеанс прогания на «красной полосе», чтобы затем было легко снова залесть в контекст, уже зная, что именно нужно решить и так втянуться в работу.
Раскрывает ментальные аспекты полного покрытия кода тестами, приводя много доводов «за».
Напоминает Мартина) тот тоже много пишет о ментальности и долгих инвестициях в себя и процесс прогания, профите от этих инвестиций, которого не будет от мышления «здесь и сейчас» и разных «оптимизаций»
Основная идея писать тест: вносить небольшие изменения, рефакторить очень маленькими шагами, соблюдая свое метальное здоровье, меньше боятся за непредвиденные сайд эффекты, закреплять результат предыдущей работы.
Но достаточно подробно расписано почему тесты это не только «проверка результатов»
Примеры по большей части в ООП стиле и часто описание нового кода внутри примеров связано именно с решением базовых ООП проблем, что может смутить тех, уже использует фреймворк, в котором эти проблемы решены или вообще не использует ООП. Например, вопросы путания контекста или особенности синтаксиса выбранного языка. Но в целом для объяснения идей вполне хорошие примеры.
Плюс все разбавлено краткой выжимкой по теории паттернов (ООПшных по большей части), что тоже может быть полезно)
Советую всем, кто хоть чуть-чуть кодит, книжуля реально может залететь за 2-4 вечера, а пользы принести на десятилетия вперед.