Цикл сборки
Вот цикл, который вы будете прогонять снова и снова. Он мал намеренно.
- Нарежьте функцию на маленькие вертикальные шаги. Каждый шаг должен быть чем-то, что вы можете собрать, запустить и увидеть работающим за несколько минут.
- Выберите один шаг. Только один. Игнорируйте всё остальное пока что.
- Запросите этот один шаг. Будьте конкретны в том, что меняется и что остаётся прежним.
- Просмотрите изменение. Прочитайте, что написал AI. Вам не нужно понимать каждую строку, но пробегитесь по ней на предмет чего-то очевидно неправильного.
- Запустите приложение. Реально нажмите кнопку, загрузите страницу, обратитесь к эндпоинту. Убедитесь, что шаг работает.
- Зафиксируйте (). Сохраните контрольную точку в системе контроля версий с короткой подписью.
- Повторите с шага 2 со следующим шагом — пока функция не будет готова.
Нарисованный как цикл, этот процесс выглядит так — вы ходите по кругу, по одному маленькому шагу за оборот, пока функция не будет готова:
┌──────────────────────────────────────────┐
│ │
▼ │
┌─────────┐ ┌─────────┐ ┌──────────┐ │
│ РЕЗКА │───▶│ ВЫБОР │───▶│ ПРОМПТ │ │
│ функции │ │ 1 шага │ │ под шаг │ │
└─────────┘ └─────────┘ └────┬─────┘ │
(один раз, │ │
в начале) ▼ │
┌──────────┐ │
│ ОБЗОР │ │
│ дифф │ │
└────┬─────┘ │
▼ │
┌──────────┐ │
│ ЗАПУСК │ │
│ прилож. │ │
└────┬─────┘ │
работает? │ │
сломано ◀─────────────────────┤ │
откат и пере-промпт │ да │
▼ │
┌──────────┐ │
│ КОММИТ │───────┘
│ чекпоинт │ след. шаг
└──────────┘
Весь смысл в том, что вы никогда не находитесь далеко от работающего приложения. Если шаг 4 выдаёт что-то сломанное, вам нужно отменить всего одно маленькое изменение, а не запутанный клубок.
Те, кто пропускают шаги с 4 по 6, чувствуют себя быстрее минут двадцать. Потом они натыкаются на баг, который не могут найти, потому что последняя заведомо рабочая версия их приложения — в сотне изменений позади. Этот цикл кажется медленным именно потому, что он никогда не даёт вам накопить такой долг.