Это было на мой взгляд в последнее время, поскольку я могу ясно видеть преимущества TDD. Я могу с легкостью понять, как тесты могут управлять хорошим дизайном, если разработчик имеет представление о том, что такое функциональность. Это может быть чрезмерно упрощенное утверждение, но из всего, что я прочитал, TDD защищает вас, что у вас нет дизайна, выходящего за рамки вашей архитектуры проекта и выбора структуры. Это, как говорится, я должен был догадаться, что даже самые хардкорные TDDers не имеют совершенно пустой ментальный планшет, когда они начинают работатьМожет ли TDD работать в среде архитектора/исполнителя?
Мой вопрос заключается в следующем: Может ли TDD использоваться в среде, где старший программист/designer/architect делает класс и/или компонентный дизайн, а затем руки, которые разрабатываются для младшего разработчика для реализации? В этом случае тесты не будут основным драйвером конструкции. Я предполагаю, что внедряющий программист может реализовать этот проект, используя первый подход к тестированию. В этом случае это еще TDD, или это то, что было бы лучше назвать Test Driven Implementation? Было бы что-то вроде этой работы в реальном мире, или вы думаете, что в итоге вы столкнетесь с худшими частями TDD и спроектируете фронт?
UPDATE:
я наткнулся на блог Рой Osherove в describing the various meanings of TDD:
Каковы возможные значения TDD?
- Test Driven Development: идея написания кода в тесте первого образом. Возможно, у вас уже есть существующий проект .
- Теста-ориентированное развитие: Имея блок испытания интеграционных тестов в вашем коды и писать их либо до или после нашей записи коды. В вашем коде много тестов. Вы признаете ценность тестов, но вы не обязательно записываете их до , вы пишете код. Дизайн, вероятно, существует, прежде чем писать код
- Test Driven Design (Крайнее Программирование путь): Идею использования тест-первого подход как полностью оперившаяся методику проектирования, где тесты бонус, но Идея состоит в том, чтобы полный дизайн от маленького до нуля. дизайн вообще. Вы проектируете, как вы идти.
- Test Driven Development и Design: с помощью тест-первых технику для привода нового кода и изменения, в то же время позволяя ему изменения и развивать свой дизайн как дополнительный бонус. Возможно, у вас уже есть какой-то дизайн на месте перед запуском , чтобы код, но он мог очень хорошо изменить, потому что тесты указывают различные запахи.
После прочтения, что это довольно ясно, что Test Driven Design вкус TDD, вероятно, не наилучшим образом подходит в этой среде, но Test Driven Development вкус будет, вероятно, подходит.
Это показывает, насколько я не испытываю TDD даже после большого чтения и экспериментирования. Множество примеров, которые я видел, откладывают так же просто, как открытие класса, которое должно быть проверено на основе теста. Эти примеры практически не имели дизайна. Ваш комментарий подразумевает, что это не арендатор TDD. Хорошо знать! – 2008-09-23 20:15:13