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