Кент Бек (автор TDD и экстремального программирования) развивает темку TDD в 2026-м.
1. Научитесь писать тестируемый код, прежде чем беспокоиться о тестах и "нужно ли вам TDD". В конце концов, тестирование в конечном итоге - это всё же про хороший дизайн. Как только вы начнёте писать код, в котором будет легко разбираться, тесты станет легко добавлять позже. Но пока такой код у вас особо не получается, значит вам точно надо начинать с тестов.
2. Если под вами есть джуны/миддлы/сеньоры, всегда позиционируйте отсутствие тестов как отсутствие в вашей "команде". А во время обзоров кода / pr никогда не указывайте на ошибки: указывайте на "пропущенный" тест. Каждый добавленный тест выявляет реальную ошибку, такая схема более убедительна, чем любая лекция.
3. Лучший момент в тестировании -- это внезапность. Тест, который проходит именно тогда, когда вы и ожидали, что он пройдёт, ни о чём не говорит. Самое интересное -- это предсказать появление красного, увидеть красный, и обнаружить ошибку, которая, к вашему счастью, так и не была выпущена в прод. Особенно для джуниоров, когда каждый тест становится маленьким открытием.
Да, но...
На Hard Work в частности с ментатами разбираем, и где-то в гайдах "Programming in Large" есть материал "Как правильно относиться к TDD". Что это: техника тестирования, или техника проектирования?
Засада в том, что те кто не в теме, просто путают Test-Driven Development (TDD) с Test-First Development (TFD).
TDD -- это парадигма, это целая культура! А TFD -- это карго-культ TDD, а по сути просто частный случай Verification-First Development (VFD).
А TDD к VFD никак не относится, это концептуально другое.
Ну а мы тут понемножечку развиваем Math-First Development...
( btw, рекомендую прямо сейчас @PremiumBot -> /stop )
Post #2575
664
- 👍 31
- ✍ 8
- ❤ 3