Похоже на Знает ли TDD не думать о дизайне классов?, у меня возникли проблемы с мыслью о том, где традиционный этап "дизайна" вписывается в TDD.
В соответствии с Боулинг-игрой Kata (версия "беседы", чья связь ускользает от меня в данный момент) TDD, похоже, игнорирует принятые на ранней стадии проектные решения (отбросьте объект кадра, объект roll и т.д.). В этом примере я вижу, что неплохо следовать за тестами и игнорировать ваши первоначальные мысли о дизайне, но в больших проектах или в тех, где вы хотите оставить открытие для расширения/настройки, не лучше ли было бы поместить вещи в что у вас нет теста или нет необходимости немедленно, чтобы избежать длительных перезаписей позже?
Короче говоря, насколько много дизайна при создании TDD, и насколько я должен следить за этим дизайном, когда я пишу тесты и код для их передачи (игнорируя мой дизайн, чтобы беспокоиться только о прохождении тестов)?
Или я ни о чем не беспокоюсь, а код, написанный просто для того, чтобы следить за тестами, (на практике) трудно переписать или реорганизовать, если вы нарисованы в углу? В качестве альтернативы, я пропущу точку и что я должен ожидать переписать части кода, когда я прихожу, чтобы протестировать новый раздел функциональности?