C++正交设计笔记2 简单设计

本文介绍了Kent Beck的简单设计原则,包括通过所有测试、消除重复、清晰表达和减少代码元素,强调这些原则的重要程度和在实际设计决策中的应用。通过理解这些原则,开发者可以在C++项目中实现更好的设计,提高代码的可读性和可维护性。
摘要由CSDN通过智能技术生成


原文 https://www.jianshu.com/p/0228d2dd90fe

Kent Beck给出了”简单设计”的明确标尺 ,让程序设计者判断和遵守 :

  • 通过所有测试(Passes its tests)
  • 尽可能消除重复 (Minimizes duplication)
  • 尽可能清晰表达 (Maximizes clarity)
  • 更少代码元素 (Has fewer elements)
  • 以上四个原则的重要程度依次降低。

这组定义被称做简单设计原则。

初看上去,这组原则平淡无奇,似乎是一组耳熟能详的原则的罗列。但只要细细品味,就会发现其精妙绝伦之处。

通过所有测试(需求)

直观的看,这句话貌似在讲测试:一个项目只有具备完善的自动化测试,才算在做简单设计。但事实上并非如此。这里提到的测试,真正的意思是客户验收。如果你的项目通过了客户的所有验收条件(Acceptance Criteria),那就说明你们已经完成与客户约定的全部需求。至于验收方式是靠人工还是靠自动化测试则无关紧要。

所以,这句话强调的是对外部需求——包括功能性需求和非功能性需求——正确的完成。

尽可能消除重复(易重用,易修改性)

重复,意味着低内聚,高耦合。而消除重复的过程,也就意味着是让软件走向高内聚,低耦合,达到良好正交性的过程。重复导致耦合度提高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值