Ответ
TDD (Test-Driven Development) — это методология разработки, при которой сначала пишут тест, а затем код, который его проходит.
Основные этапы TDD:
- Red — пишем тест для новой функциональности (он падает).
- Green — пишем минимальный код, чтобы тест прошел.
- Refactor — улучшаем код, сохраняя его работоспособность.
Пример (Python):
# 1. Red: тест для функции сложения
def test_add():
assert add(2, 3) == 5 # Ошибка, т.к. `add` не существует
# 2. Green: минимальная реализация
def add(a, b):
return a + b # Теперь тест проходит
# 3. Refactor: можно оптимизировать, но в данном случае не нужно
Преимущества:
- Чистый, тестируемый код.
- Раннее выявление ошибок.
- Уверенность при рефакторинге.
Недостатки:
- Замедляет разработку на старте.
- Требует дисциплины.