2.9 KiB
| name | description | metadata | ||
|---|---|---|---|---|
| feedback-no-unprompted-scope | Не делать лишних действий сверх того, что попросили — не выносить абстракции "на будущее", не додумывать причины |
|
Пользователь прямо указал: «ты делаешь много лишних действий которые тебя не просят». Конкретный кейс —
при рефакторинге Controller::render()/renderContent() (см. project-bicycle-overview) я вынес
расчёт каталога view в отдельный приватный метод contentDir() без реальной причины (вызывался из
одного места) — просто рефлекс «похожая логика — надо вынести», а не ответ на реальную потребность.
Пользователь спросил «мы где-то ещё будем использовать contentDir()?» не как команду переделать,
а как проверочный вопрос — заподозрил лишнюю абстракцию и хотел понять мою логику.
Why: Лишние абстракции/методы «про запас» усложняют код без пользы (см. также правило проекта — не проектировать под гипотетические будущие требования) и создают у пользователя ощущение, что я действую самостоятельно там, где не просили.
How to apply: Не выносить код в отдельный метод/абстракцию, если на это нет явного запроса или явного текущего переиспользования (2+ реальных вызова прямо сейчас). Если сомневаюсь, нужна ли абстракция — оставлять код инлайн, как было. Это не противоречит feedback-less-confirmation: там речь про паузы-подтверждения на уже согласованных, обратимых шагах; здесь — про то, чтобы вообще не расширять объём работы (лишние методы, лишний рефакторинг, лишние файлы) сверх того, что запросили. Если вопрос пользователя похож на «а мы это ещё где-то используем/будем использовать?» — это, как правило, не команда действовать, а проверка моей логики; сначала ответить прямо, не хвататься за редактирование кода.