
Ваша оценкаРецензии
Аноним18 июля 2023 г.Читать далееКент Бек считается одним из основателей методологии TDD и поэтому мне хотелось познакомиться с его книгой о разработке через тестирование. До этого я читал разные материалы об автотестах и методиках тестирования, и хотелось познакомиться с первоисточником.
Мои впечатления неоднозначны. Книга из трёх частей — в первой практика, чтобы показать, как происходит работа в TDD-стиле. Все это я уже где-то читал и мне не было интересно. Вторая часть — показать, как с TDD писать инструментарий для тестирования. Плохая идея, как по мне, причем автор сам говорит о ее сомнительности, приводя аналогию операции на собственном мозге. Зачем оно тогда в книге? Новички не знают о XUnit, JUnit и тп. А те, кто знает уже современный инструментарий, тем и читать это не сильно интересно как по мне. Третья часть — теория. Что-то из нее было интересно почитать, но часть про шаблоны проектирования тут непонятно зачем. Понять шаблоны из такого описания невозможно, а кто с шаблонами уже знаком, тому и не надо описывать это в десятый раз.
При этом речь вообще тут идёт о модульном (юнит) тестировании, на котором автотесты не заканчиваются — есть ещё интеграционные, функциональные и тд, и сейчас, насколько я могу судить, разработку начинают с более высокоуровневого теста (например, теста конечного хттп-сервиса), и затем спускается разработка на юнит-тесты с реализацией этого хттп-сервиса, его бизнес-логики. Обо всем этом нет в книге.
В целом, наверное, материал можно рассматривать как отправную точку для своего времени, когда это всё зарождалось. В послесловии Мартин Фаулер пишет, что «все эти мысли несколько сыроваты», «мы ещё не видим эту картину достаточно четко, однако мне кажется, что она постепенно становится все яснее и яснее».
Кто пишет на питоне, могу порекомендовать небольшой цикл статей по TDD https://www.thedigitalcatonline.com/blog/2020/09/10/tdd-in-python-with-pytest-part-1/. Не знаю, упустите ли вы что-то глобальное, если вместо Кента Бека прочтете эти пять статей.
Читается быстро, плотность информации в бОльшей части книги небольшая.
Дальше буду читать по этой теме Персиваля с его «Python Разработка на основе тестирования».51,3K
Аноним24 февраля 2024 г.Чистый код, который работает
Читать далееПоскольку я не программист, мне книжка была интересна поскольку постольку, хотелось только разобраться, что же это за TDD такое, приобщиться, так сказать, к бест практисам.
Принципы изложены уже в предисловии, так что можно было дальше не читать, но мне обычно тяжело бросать начатые книги, да и хотелось разбора понагляднее, чтобы понять, а есть ли где-то в этой концепции место проектировщику и может ли проектировщик что-то для себя извлечь.
Штош, основную идею я вроде как уяснила, но как приложить ее к своей повседневной практике - пока сообразить не получилось, как, впрочем, и есть ли вообще смысл примеряться.
Суть одной строкой вот в этой цитате:
Красный - зеленый - рефакторинг - это мантра TDD.Ну то есть прикидываешь, чего тебе надо добиться, пишешь проверочный тест, потом пишешь какой угодно код, чтобы тест хоть как-то выполнился, потом шлифуешь полученное так, чтобы тест выполнялся и при этом код не дублировался. Начинаешь заново с другим кусочком логики. Автор разбирает это на разных примерах с кусочками кода, а в конце говорит о паттернах. В принципе, познавательно. Если когда-нибудь надумаю переметнуться в стан разработчиков, вероятно, вернусь к этой книге.
4299
Аноним27 февраля 2007 г.Открывает глаза на планирование проектов разработки ПО. Книга будет полезна любому руководителю проектов - много полезных идей.
Активно использую идеи из книги: в работе и в личных проектах.
4432
Аноним13 января 2021 г.Первая любимая книга по разработке
Читать далееНикогда не думал, что книга по программированию станет одной из любимых книг, которую захочется прочитать, не потому что нужно освежить знания, а что бы получить удовольствие. Благодаря ей, мой пет проджект растет и от этого не становится все сложнее и сложнее. Я бы даже сказал он становится все удобнее и удобнее. Когда я возвращаюсь к нему, после недельного перерыва, мне не нужно час вникать, разбираться что там происходит. Я довольно быстро приступаю к работе. У меня не возникает желание все удалить и начать заново, как я это делал обычно прежде. Пожалуй, TDD для меня самый мощный инструмент для борьбы со сложностью.
3296
Аноним16 декабря 2018 г.Окно в мир TDD (для меня)
Читать далееДо прочтения этой книги я пытался писать тесты по статьям которые читал, но только с ней у меня начало получаться хорошо.
Читал два раза. Первый раз просто читал. Ничего не понял. Во второй раз писал код по ходу прочтения книги и тогда наконец до меня дошло что к чему а главное - я прочувствовал свою величину шага на который я могу изменить код и при этом не потеряю контроль над ним. Порадовала вторая глава где вместе с автором писал свою систему модульного тестирования на Python, ощущение было как будто делаешь операцию на собственном мозге (собственно, именно такое сравнение приводил и сам автор) - одно неосторожное движение и ничего не работает, нужно двигаться очень маленькими шагами. Третью главу прочитал выборочно, возможно когда-нибудь дочитаю.
Рекомендую!
3475
Аноним22 ноября 2023 г.Читать далееЕсть много интересных мыслей, но в целом подходы сильно привязаны к языку, на котором пишет автор. Несколько вещей, которые вынесла лично для себя:
- Если работаешь над проектом в одиночестве, оставляй последний тест завершающимся с ошибкой, чтобы в следующий раз приступив к работе, быстро вернуться к проблеме. Если работаешь в команде - всегда! оставляй после себя все тесты успешными.
- Мальнькие шаги лучше, чем большие
- Если тесты выполняются долго, их никто не будет запускать часто
- Шаблонов огромное множество, научись их грамотно выбирать и переделывать под нужды именного твоего проекта
2223
Аноним30 апреля 2023 г.Три заветные буквы TDD
Читать далееКнига очень подробно объясняет читателю, что такое TDD и как это все происходит. Состоит из трех частей.
В первой части на конкретной задаче автор очень подробно шаг за шагом показывает как происходит процесс разработки через тестирование. Все примеры указаны на java, каждый новый шаг подробно объяснен и приправлен хорошим чувством юмора автора.Вторая часть понравилась меньше, не знаю, как в бумажной версии, я читала в электронной pdf, и в примеры на python табуляцию, похоже, не завезли, а для питона - это часть синтаксиса, большие куски кода читать неудобно, да и выглядит он как-то не "по-питонячьи". Ну и устаревший xUnit и изобретение с нуля всего того, что есть, например, в pytest (давайте напишем класс для запуска всех тестов вместе) утомляет.
Хотя книга совсем небольшая, порядка 300 страниц, и прочесть можно за пару вечеров, именно на этой части начал пропадать интерес.Третья часть посвящена разбору шаблонов разработки через тестирование. Больше теории, чем практики.
А вот перевод в целом хороший, уже радует, когда framework переводят не как "каркас", но судя по предложению: "Однажды мы с дядей Бобом Мартином (Bob Martin) работали над алгоритмом разбиения линии, и нам никак не удавалось заставить его работать.", переводчик был не в курсе, кто такой "Дядюшка Боб" и записал его в дяди Кенту Беку.
Также можно встретить упоминание и Мартина Фаулера (знакомые все лица), который тоже является соавтором методологии экстремального программирования (XP), а главное не только упоминание, но также и примеры из практики, а именно программирование в паре, где TDD является одним из инструментов XP.В целом книга читается легко, примеры наглядные, понимание, что такое TDD, приходит, а главное, хочется и дальше углубляться в эту тему.
1212
Аноним9 июля 2022 г.Для тех, кто хочет улучшить свои навыки после тяжелого рабочего дня
Читать далееМногие книги по программированию и математике написаны слишком сложным языком. Чтоб их прочитать и понять необходимо выделять время, когда голова ещё очень хорошо работает.
Книга Кента Бека доступна в любом состоянии. Повествование очень плавное, как для детей или подростков, шаги в коде минимальные и иногда это даже бесит.
Да, плотность информации в книге небольшая, прочитать ее можно за 1-2 вечера, но та информация и подходы к разработке, которые вы увидите может улучшить вашу повседневную работуКод написан на java, однако конструкций и подходов специфичных для языка мало. Достаточно опыта программирования на любом объектно-ориентированном языке, чтоб понимать происходящие в книге преобразования кода.
1220
Аноним17 января 2021 г.Отличная книга
Если ты программируешь и не знаком с подходом TDD - уверенно читай книгу, она сделает тебя лучше.
Стиль написания отличный, читается просто и понятно. В тексте ничего лишнего, сплошной высококалорийный материал.
0124
