软件复杂度
什么是复杂性?是让你的系统变的难以理解、难以修改的东西
复杂性表现在:
Change amplification,也就是修改散落在各处
Cognitive load,可以理解为学习成本或者认知负担
Unknown unknowns,未知的未知,开发人员也不知道项目中有哪些是不了解的知识
如果一种方法没有降低复杂性并且你没有用错的话,果断放弃它
引起复杂度提升的原因往往是
重复,意味着不必要
耦合
以下做法可能会引起复杂度提升
Pass-through methods
Pass-through variables
一个耦合程度高的系统就是复杂性高的,因为每次修改都非常困难,所以领域驱动设计这种方法就是为了设计出高度内聚的模型。良好的软件抽象能够帮助我们降低复杂度
链接:
版权声明: 本文为 InfoQ 作者【海拉鲁】的原创文章。
原文链接:【http://xie.infoq.cn/article/adf6f410bb263f717dac8c3e7】。文章转载请联系作者。
评论