DeepSeek Код 👁 20

TDD-цикл red-green-refactor для новой функции

TDD red-green-refactor: пошаговое написание функции через падающие тесты с разбором каждой итерации.

Промпт Запустить →
Промокод — до 25% бонусами к первому пополнению в most-ai
Проведи меня по циклу red-green-refactor для одной функции: маленькими шагами, где каждый шаг заканчивается запускаемым тестом.

Что пишем: [ЗАДАЧА: функция, которая по списку сделок считает выручку за период и отдаёт сумму по месяцам, пропуская отменённые сделки]
Стек: [СТЕК: Python 3.11, pytest]
Что уже известно про данные: [ДАННЫЕ: у сделки есть дата, сумма и статус; статусы — paid, cancelled, pending; даты приходят строками в ISO]

Дай до 5 итераций, в каждой:
1. RED — один тест, который сейчас падает, и точное сообщение, которым он падает.
2. GREEN — минимальный код, чтобы тест прошёл. Именно минимальный: заглушка на этом шаге нормальна.
3. REFACTOR — что улучшаем или явное «оставляем как есть» с причиной.
4. Какое новое поведение проверит следующий тест и почему именно оно следующее.

Отсечка. Не пиши в первой же итерации полную реализацию — тогда это не TDD, а обычное написание кода
с тестами после. Не добавляй в GREEN то, чего не требует текущий тест: обработка pending появляется
в той итерации, где для неё есть тест, а не «на будущее». Не переходи к следующей итерации, пока
предыдущий тест не зелёный. Порядок итераций объясняй риском: сначала то, где ошибка дороже
(пропуск отменённых сделок), а не то, что проще.

Проверка перед выдачей: по каждой итерации сверь, что код из GREEN действительно проходит свой тест
и НЕ проходит тест следующей итерации. Если проходит оба — шаг был слишком большой, разбей его.
Запустить промпт →

Похожие промпты

Claude
Написание unit-тестов на pytest
DeepSeek
DeepSeek: написать unit-тесты для функции
Gemini
E2E-тест Playwright по описанию пользовательского сценария
DeepSeek
DeepSeek: рефакторинг легаси-функции пошагово
DeepSeek
DeepSeek: Python-калькулятор сметы на ремонт
DeepSeek
Профилирование медленного Python-кода — поиск bottleneck
DeepSeek
Многостадийный Dockerfile (multi-stage build) под продакшн
DeepSeek
DeepSeek: код-ревью pull request с приоритизацией

Пример результата

Итерация 1 RED: def test_empty_returns_zero(): assert sum_positive([]) == 0 Ошибка: NameError — функция не существует. GREEN: def sum_positive(items): return 0 REFACTOR: оставляем — минимум. Итерация 2 RED: def test_one_positive(): assert sum_positive([5]) == 5 GREEN: def sum_positive(items): return sum(items) REFACTOR: оставляем. Итерация 3 RED: def test_skips_negatives(): assert sum_positive([3, -1, 5]) == 8 GREEN: return sum(x for x in items if x > 0) REFACTOR: оставляем — read-friendly.

Полезные статьи

Промты для программиста: 43 промпта под задачи кода
Workflow ComfyUI на русском: Flux, Qwen и Wan 2.2
Шаблоны n8n на русском: готовые workflow и примеры

Все гайды →