Модуль 03 — Практика: от «сделай красиво» к спеке
Время: 200 минут · Артефакт: labs/03-specs/
Задание 1. Разобрать три задачи (40 мин)
Возьмите три расплывчатые задачи:
A) "Добавь кэширование"
B) "Почини баги в API"
C) "Сделай красивее интерфейс"
Для каждой напишите спеку по шаблону templates/spec.md, включая блок «не входит».
Приёмка: в каждой спеке есть минимум 3 проверяемых требования и 2 критерия приёмки (команда или тест).
Задание 2. Сравнение на практике (60 мин)
Выберите одну спеку (например, A) и реализуйте задачу дважды:
Прогон 1 — «вайб»:
Добавь кэширование в проект.
Прогон 2 — по спеке:
<вставить спеку целиком>
Начни с плана. Код не пиши, пока я не подтвержу.
Записать таблицу: | Метрика | Прогон 1 | Прогон 2 | | --- | --- | --- | | файлов затронуто | | | | лишних изменений | | | | тестов добавлено | | | | прошло с первого раза | | | | стоимость | | |
Приёмка: есть вывод о том, какая часть спеки дала наибольший эффект.
Задание 3. План до кода (30 мин)
Для спеки B (баги в API):
Не пиши код. Дай план:
1) какие файлы посмотришь и почему;
2) гипотезы о причинах багов;
3) как будешь проверять каждую гипотезу;
4) что может сломаться.
Отредактируйте план (уберите лишнее, добавьте пропущенное), затем разрешите реализацию.
Приёмка: в отчёте — исходный план, ваши правки, итоговый дифф. Сравните: сколько правок плана vs сколько правок кода.
Задание 4. Декомпозиция (40 мин)
Возьмите задачу C и разбейте на 4–6 шагов так, чтобы каждый:
- менял ≤ 2 файла;
- имел свой критерий проверки;
- коммитился отдельно.
Приёмка: список шагов с критериями + минимум 2 выполненных шага с коммитами.
Задание 5. Библиотека промптов (30 мин)
Создайте labs/03-specs/prompts.md — 5 переиспользуемых шаблонов:
- «Дай план, код не пиши»
- «Объясни существующий код»
- «Добавь тесты к функции»
- «Найди причину падения теста»
- «Отревьюй мой дифф как строгий ревьюер»
Формат: заголовок, шаблон, когда применять, пример заполнения.
Критерии сдачи
- Три спеки по шаблону, с блоком «не входит».
- Таблица сравнения «вайб vs спека».
- План с вашими правками и итоговым диффом.
- Декомпозиция + ≥ 2 коммита.
prompts.mdс 5 шаблонами.