Подумайте о дизайне и коде вашего программного обеспечения, а затем внимательно добавьте тесты, чтобы убедиться, что вы ничего не забыли, - это хороший способ продолжить работу в моей книге.
Вы думаете о своем коде как с точки зрения разработки программного обеспечения, так и с точки зрения тестирования. Я склонен разрабатывать код и тестировать параллельно, никогда не придерживайтесь парадигмы «напиши сначала свой тест», потому что это приводит к коду, который выполняет ваши тесты, а не к вашему дизайну.
Риск в TDD заключается в том, что фаза де-дизайна не учитывается. Если вы создаете свои тесты, пытаясь нарушить ваш код всеми возможными способами, то исправьте проблемы, которые ваш тест выявит, вы получите стабильный код. Мне пришлось реорганизовать код, написанный с помощью TDD, который в лучшем случае имел качество прототипа, это не метод, обеспечивающий хороший код, а умственные усилия, которые вы вложили в него.