Files
nexus/wiki/concepts/MinimalChangePrinciple.md
2026-05-03 05:42:12 +08:00

1.8 KiB
Raw Blame History

title, type, tags, last_updated
title type tags last_updated
MinimalChangePrinciple concept
engineering
code-quality
best-practices
2026-05-02

Definition

最小变更原则MinimalChangePrinciple是一种代码变更方法论每个变更行的存在都必须有任务明确要求的理由而非"更好""更整洁""为未来做准备"。目标是以最小可工作的差异集minimum viable diff完成给定任务。

Core Questions

"Does the task require this exact line?"

变更每一行之前,必须通过以下测试:

  1. 必要性:任务是否明确要求了这一行?
  2. 最小性:能否以更少的变更行达到同样效果?
  3. 可解释性:这一行变更对未来的代码维护者是否可理解?

Contrast with Traditional Code Quality

维度 传统观点 最小变更原则
新增代码 越多越好(健壮性) 越少越好(降低维护成本)
文档 应该详细添加 不为未修改代码添加文档
重构 遇到问题就重构 与任务变更分离,独立 PR
防御性代码 宁多勿缺 仅在系统边界添加
代码风格 统一风格 不为统一风格而修改无关代码

Success Metrics

  • Median diff size < 30 lines changed per task
  • 80%+ bug fix PRs touch ≤ 2 files
  • Zero "while I'm here" changes in any PR
  • Review time reduced 50%+
  • Regression rate near zero

Connections

Sources