首页/开发/代码质量与评审速查/SRP 实操:如何找到「变化原因」
设计原则与模式62 条

SRP 实操:如何找到「变化原因」

找变化原因看三类线索:需求来源(不同干系人)、发布节奏(改它的工单类型)、数据依赖(不同上游系统);把同一原因聚集进一个模块,不同原因之间画边界。

线索干系人 / 工单类型 / 数据来源
方法列举近半年修改记录,按原因聚类
输出模块边界与所有权候选

聚类示例

聚类示例
ReportService 的历史修改:
- 财务口径调整 ×7   → 报表口径模块
- PDF 导出样式 ×5    → 渲染模块
- 数据源迁移 ×3      → 取数模块

易错点

  • 只看当前代码不看过往修改:边界缺少证据
  • 按人员分工直接切代码:所有权与职责混为一谈

数据来源与参考

  • Robert C. Martin · SRP 论述;版本历史聚类为工程化变体
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌