工程师必须知道的几个原则

DRY 原则
逻辑重复

校验密码和校验账号的两个函数有重复的逻辑。也就是有重复的逻辑,但是也不是重复的代码

功能语义重复

什么是功能语义,语句表达的意义。 实现一个检验IP合法性的。一个使用的是正则进行校验的,一个是通过hard code进行校验。这就是代码逻辑不同,但是语义是相同的

代码执行重复

执行了多次语义相同的逻辑代码。比如我们在在校验用户的登录信息是否正确的时候,先校验他的基本信息是否存在,再校验是否正确。但是我们在校验是否正确的时候已经 校验了是否存在了。所以不用重复了。

代码的可复用性

当有个同学写了一个工具类,这个工具类可以被我们各个地方使用。这就能说明这个代码的可复用性很高吗?

代码的复用

代码复用表示的是一个行为, 也就是我们在开发的时候复用了另一位开发同学的代码,来实现我们自己开发的业务需求。

如何提高代码的可复用性
  1. 减少代码耦合

  2. 满足单一职责原则

  3. 模块化

  4. 业务逻辑和非业务逻辑分开

  5. 通用代码的下沉(例如我们多个项目引入了同一个base SDK)

  6. 继承、多态、抽象、封装 (越抽象的类越容易复用)

  7. 应用模板等设计模式。其实只要你真的遵守了面向对象的SOLID设计原则,到最后抽象出来的代码就会是某种设计模式。

    设计模式的本身就是在使用面向对象设计原则的时候抽象出来的方法论。

Rule of Three 原则
  • 三分法则:什么是三分法则呢?第一次复用代码的时候不用进行复用,而在第二次的时候进行重构复用。
YAGNI 原则
  • You Ain’t Gonna Need It , 你不会需要他。这个原则结合我们的开发场景的语义就是不要做过度设计。
  • 刚开始开发需求的时候,我们通过评审后,了解了产品的需求,在进行架构设计的时候,过度考虑未来的场景。但是这的确是一个未知的场景,大概率不会到来。甚至有可能偏离。
    其实我们可以看出来,上面的两个原则的最终目标就时”尽可能少的资源浪费“。
kiss 原则
  • keep it simple and stupid,keep it short and simple ,keep it simple and Straightforward
  • 语义:尽可能的保持简单
  • 那在我们在写代码的时候如何评判这个简单呢? 1. 代码实现起来的难度 2. 代码的逻辑复杂度,3 代码是否容易理解。
    架构师的作用是什么,设计业务架构,物理架构。这些架构的作用是什么? 那就是将复杂的业务进行抽象且变得简单。刚也说过了一个业务约越抽象也就越容易复用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值