Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Так как мы проводим большое количество времени непосредственно взаимодействуя с объектами и функциями которые мы пишем, архитектура проявляется из кода сама.
ты можешь переписывать код с лёгкостью и комфортом, зная, что твои тесты провалятся, если ты ошибёшься и потеряешь работащую функциональность.это пять!
Так как мы проводим большое количество времени непосредственно взаимодействуя с объектами и функциями которые мы пишем, архитектура проявляется из кода сама.Архитектура проявится сама только если до этого был опыт работы с похожей системой, похожими объектами и функциями. Тогда да, все легко и быстро «само пишется». Если предметная область незнакома и опыта мало, то придется потратить какое-то время на обдумывание архитектуры и не надеяться, что она сама нарисуется.
1. заказчик сам не знает, что хочет
2. спеки меняются 5 раз на день
3. и сделать все нужно в сжатые сроки
Это вещи из серии: тише едешь, дальше будешь…
2. куча времени
В TDD есть 3 основных правила от дядюшки Боба:
- Пиши только тот код, который протестирован.
- Начинай писать тесты с малого, а затем наращивай их.
- Пиши ровно столько кода, сколько необходимо для прохождения теста.
Все подобные глюки малореально покрыть тестами, т.к. имеет место внешняя зависимость.
Ну и последнее предложение — можно использовать некоторые вещи, которые тестируют по настоящему ГУИ. Нажатие кнопочек и т.д
Тут скорее имеется в виду постоянное прохождение кодом тестов. Но например посередине имплементации какой-нибудь большой фичи тесты будут проходится, но реально фича работать не будет.
какая-то архитектура выйдет, да. Но будет ли это оптимальная архитектура? Может если продумать архитектуру заранее, вышло бы быстрее и\или оптимальнее? Гарантий вроде как нету
Простое написание тестов — это не TDD!