12、KISS、YAGNI、DRY、LOD

一、KISS原则

尽量保持简单。
KISS原则是保持代码可读性和可维护性的重要手段。
1、考虑逻辑复杂度、实现难点、代码可读性,如不重复造轮子、不过度优化
2、本身就复杂的问题,用复杂的方法解决并不违背KISS原则。

二、YAGNI原则:You Ain’t Gonna Need It

不要做过度设计。
如不要去设计当前用不到的功能、不要去编写当前用不到的代码、不引入无用的依赖包。当然,考虑到代码的扩展性,我们还是需要预留好扩展点。
YAGNI原则讲的是”要不要做“的问题,KISS原则讲的是“如何做”的问题。

三、DRY原则

不要写重复的代码。
重复的代码不一定违背DRY原则,一些看似不重复的代码有可能违背DRY原则。
三种典型的代码重复情况:功能语义重复、实现/逻辑重复、代码重复执行。

四、LOD 迪米特法则/最少知识原则

每个模块只应该了解那些与它关系密切的模块的有限知识。
对类而言就是不该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口(也就是有限知识),目的是减少类与类之间的耦合。

五、高内聚与松耦合:

“高内聚、松耦合”是一个非常重要的设计思想,能够有效提高代码的可读性和可维护性,缩小功能改动导致的代码改动范围。“高内聚”用来指导类本身的设计,“松耦合”用来指导类与类之间依赖关系的设计。

高内聚指相近的功能放在同一个类中,不相近的功能不要放在同一个类中。松耦合指类与类之间的依赖关系简单清晰,一个类的代码改动不会或者很少导致依赖类的代码改动。
依赖注入、接口隔离、基于接口而非实现编程、迪米特法则等都是为了实现代码的高内聚与松耦合。

六、其它:

CCP:共同封闭原则,一起修改的类,应该组合在一起(一个包里)。
CRP:共同复用原则,包中的所有类应该被一起重用。
ADP:无环依赖原则,不要出现循环依赖。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值