Блок 1 · Урок 2 из 4 · ≈ 8 минут · цель: отличать быстрый ход от хорошего вложения

Тактическое и стратегическое программирование

Tactical vs strategic programming

Главная мысль: тактическое программирование быстро закрывает текущую задачу, а стратегическое оставляет систему такой, чтобы следующая задача не стала дороже.

Тактика: «лишь бы заработало сейчас».

Стратегия: «пусть следующая правка будет проще».

Зачем это вам

AI-агент особенно хорошо исполняет тактические просьбы: «добавь кнопку», «почини ошибку», «сделай быстрее». Но если не задать критерии дизайна, агент может получить быстрый результат ценой будущей путаницы.

Ваша роль - не писать весь код руками, а удерживать стратегический вопрос: станет ли система после этой правки понятнее и устойчивее к следующим изменениям?

Суть

Тактическое программирование (tactical programming) оптимизирует ближайший результат. Оно полезно для эксперимента, прототипа или срочного исправления, но опасно как постоянный стиль.

Стратегическое программирование (strategic programming) добавляет маленькое осознанное усилие в дизайн: назвать понятие, упростить интерфейс, убрать дублирование знания, записать критерий приёмки, проверить поведение тестом.

Оустерхаут не предлагает «заранее построить идеальную архитектуру». Он предлагает не складывать мелкие долги каждый день. Стратегия - это не большой план на год, а привычка не ухудшать дизайн ради каждой маленькой победы.

Аналогия

Тактический ход похож на ремонт двери скотчем: сегодня она закрылась, но завтра липкий край начнет цеплять всё вокруг. Стратегический ход - поставить нормальную петлю: чуть дольше сейчас, зато следующие открывания становятся проще.

Запомните одно

Тактический ход спрашивает: «работает ли сейчас?» Стратегический ход добавляет: «станет ли следующая правка проще?»

Фраза агента → что он имеет в виду

«Сделаю быстрый фикс»
Решение может закрыть симптом, но не обязательно уберёт причину сложности.
«Лучше сначала выделить понятие»
Агент предлагает потратить немного времени, чтобы будущие изменения не размазывали знание по коду.
«Зафиксируем поведение тестом»
Это стратегическая страховка: будущие быстрые правки не должны сломать уже принятое поведение.

Мини-словарь

Tactical programming
Тактическое программирование: быстрый локальный результат без достаточного внимания к будущим изменениям.
Strategic programming
Стратегическое программирование: маленькие вложения в дизайн, которые снижают будущую стоимость правок.

Проверьте себя

Какой вопрос делает просьбу к агенту более стратегической?

Связанные материалы

Основной источник