Тож я новачок у гнучкому, але не тестовому розвитку . Мої професори в коледжі були в курсі ідеї тестів, а потім код і тести. Я не впевнений, що розумію, чому. З моєї точки зору, велика вартість авансових витрат, яка, швидше за все, буде змінена в міру розвитку вашого коду.
Ось як я уявляю TDD і чому мене це бентежить. Якби я будував будинок як підрядник TDD.
Дайте мені всі ваші характеристики (історії).
Отримайте схвалення щодо специфікацій.
Розбийте всі характеристики на перевірку, я думаю, мені знадобиться (дивіться у майбутнє).
Зателефонуйте інспектору, щоб подивитися на ці пункти і скажіть мені, що я закінчую перевірку (спасибі).
Почніть будувати будинок.
Щодня телефонуйте інспектору (проходить 2/100).
О, стріляйте, виникла проблема з моїм розумінням, і тепер мені потрібно додати ще 9 перевірок і змінити 27 з них.
Викличте інспектора, який проходить 1/109.
Блін. Чому інспектор не любить цього ... о, я оновив ім'я цього методу ...
Побудуйте ще кілька.
UGGGGHHHH БІЛЬШІ ЗМІНИ дозвольте мені оновити проклятий інспектор. О, я не вживаю жодної ** t.
Я вже закінчив?
Гаразд, це може бути чужим, але я просто не бачу, як я повинен знати всі свої методи і як все буде працювати, поки мій код не знайдеться. У 99% часу мені доводиться повертатися та оновлювати тест на будь-які способи та додавати більше, коли я йду. Це просто здається назад.
Те, що здається більш підходящим, - це тестування DDT або тестування на основі розробки, що, як видається, все, про що спільнота забула.
З мого розуміння DDT для будинку виглядав би так:
Дайте мені всі ваші характеристики (історії).
Отримайте схвалення щодо специфікацій та розбийте їх.
Почніть одиницю (фундамент).
Робіть замітки (коментарі) якоїсь хитрої логіки.
Наприкінці перед початком наступного підрозділу проводять перевірку (створіть тест).
Виправте будь-яку виявлену проблему та перевірте ще раз.
Схвалено цей пристрій перейти до наступного.
Якщо ми всі чесні, чи не звучить це по-людськи і зосереджено на розробниках та бізнесі? Здається, зміни можна вносити швидше і без накладних TDD, здається, створюються.