现代软件工程管理复杂性之内聚,把相关的东西独立自主地放在一起,把代码形成“代码团队”...

内聚是一个模块内的元素聚合在一起的程度。

肯特贝壳用一句话描述好的设计:把不相关的东西进一步拉开,把相关的东西更紧密地放在一起。

我们需要更小的、更容易理解的、更容易测试的、独立的部分来构建系统。

代码的主要目标是把想法传递给他人。我们写代码是为了尽可能清晰和简单地表达想法。使代码具有可读性,是一种职业责任,也是管理复杂性重要的指导原则之一。

内聚力是与上下文更加相关的。一个有效的工具是领域驱动开发,让我们的思维和设计能够由问题域来引导。

关注点分离指导编程:一个类,一件事。一个方法,一件事。

耦合是A改了,B必须改。内聚是A改了,B可以改,并且带来新的价值。内聚中包含着耦合。

如果你不得不在代码库的许多地方进行更改来完成一次变更,那么这就不是一个非常内聚的系统。内聚力是功能相关性的一种度量标准。

可测试性可以帮助提高解决方案的内聚力。使用关注点分离,从本质复杂性中分离偶然复杂性。只保留本质复杂性的系统,是高内聚的。关注点分离帮助在模块化和内聚力之间取得平衡。

内聚力差,代码和系统不灵活,难以测试。内聚力有最佳点。如果你读了一段代码,不知道它是在干什么,那可能就是内聚力差。

团队自己做决定的能力,无需征得团队之外的许可,就是团队这个人类系统的内聚力。团队的信息和技能是有内聚力的,因为团队在其范围内拥有做出决策和取得进展所需要的一切。

简单放在一起,只是“代码团伙”,是结构凌乱的。能够独立自主、高效、可测试、可读地完成一个目标的一组代码才是有内聚力的“代码团队”。

d65d2f3c02419a0e91c6ffd70d554437.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值