参考:《匠艺整洁之道》。
对于流变信息系统的系统化多层面迭代维护:
- 高层面(管理层面等):
- 注意康威定律。
- 采用 TDD,TCR等。
- 经常重构,拒绝屎山化,拒绝技术债。
- 经常审阅代码。计算机语言本质上是给人看的,顺便可以给计算机执行。
- 中层面(设计层面等):
- 简单设计。四原则(正明精简):通过测试,揭示意图,没有重复,最少元素。
- 函数式思想。
- SOLID 原则等。
- 低层面(技术层面等):
- 采用更好对抗熵增的语言,比如 Rust 或 Swift,更易维护。像 JavaScript 这样的语言,很容易屎山化,难以维护,快速熵增。
- 使用更好的工具,比如能良好辅助编程的 IDE。
提高系统可维护性的方法:
- 高内聚低耦合,确定系统边界。
- 面向维护编程。
- 无痛维护。维护时不让使用者觉得难受。
- 中间过程和系统无状态。让业务状态集中在业务数据层,其它系统依赖与响应它。
- 数据驱动开发。
- 内容导向。
- 减少过多的抽象。
- 敏捷开发。