Update nexus wiki content
This commit is contained in:
37
wiki/concepts/ScopeCreep.md
Normal file
37
wiki/concepts/ScopeCreep.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "ScopeCreep"
|
||||
type: concept
|
||||
tags: [engineering, code-quality, scope-management]
|
||||
last_updated: 2026-05-02
|
||||
---
|
||||
|
||||
## Definition
|
||||
|
||||
范围蔓延(ScopeCreep)是指在项目或任务执行过程中,变更范围超出最初明确要求的渐进式扩展。常见形式包括"顺便..."(while I'm here)行为、审阅阶段引入的新需求、以及未经批准的"改进"。
|
||||
|
||||
## Core Characteristics
|
||||
|
||||
- **渐进性**:变更随时间逐步扩大,而非一次性大规模变更
|
||||
- **伪装性**:往往以"改进""清理""优化"等名义包装
|
||||
- **累积性**:单次范围蔓延看似无害,但累积效应显著
|
||||
|
||||
## Patterns of ScopeCreep
|
||||
|
||||
| 模式 | 描述 | 最小变更工程师的应对 |
|
||||
|------|------|---------------------|
|
||||
| "while I'm here" | 任务外发现值得修改的内容并顺手修改 | 记录为 follow-up,不包含在当前 PR |
|
||||
| "for future flexibility" | 为假设的未来需求添加配置标志或抽象 | 等待第二个调用者出现再提取 |
|
||||
| "defensive coding" | 为不可能发生的场景添加防御性代码 | 仅在系统边界(用户输入、外部 API)验证 |
|
||||
| "modernization" | 重写旧的但正常工作的代码为新风格 | 不重写未修改区域的代码 |
|
||||
| "consistency" | 因"其他代码都用了 X"而修改无关文件 | 不因一致性而触碰无关文件 |
|
||||
| "cleanup" | 移除假设是死代码的内容 | 用"删除并运行测试"确认,不做假设 |
|
||||
|
||||
## Connections
|
||||
|
||||
- [[engineering-minimal-change-engineer]]:最小变更工程师的核心对抗目标
|
||||
- [[engineering-code-reviewer]]:代码审查者应警惕并指出范围蔓延
|
||||
- [[PrematureAbstraction]]:范围蔓延的常见诱因之一
|
||||
|
||||
## Sources
|
||||
|
||||
- [[engineering-minimal-change-engineer]]
|
||||
Reference in New Issue
Block a user