关于重构需要了解的一些原则

基本原则:

  1. 现有业务逻辑、依赖与关联分析清楚
  2. 对于一些不合理的业务逻辑要从技术的角度去引导需求,达到业务需求与技术的平衡
  3. 重构之后运行所有测试,确保第1点正常或者在预期范围内
  4. 代码尽量清楚地表达程序员意图(注释、逻辑清晰以及命名规范等)

注:重要性从上往下

代码重构主要关注的点:

  1. OO (面向对象的三大基本原则)
  2. SRP (权责单一,类只有一条被修改的理由)
  3. DYR (没有重复代码)
  4. OCP (开闭原则,类对扩展开放,对修改关闭)
  5. DIP (依赖倒置)
  6. LKP (最少知识原则,类与类之间的耦合最低)

代码部分动手基本思路:

前提是基本原则中的第1、2点 , 评审过后才能对代码动手:

从需要重构的方法开始,依据SRP细分函数功能.再根据SPR原则分离为不同的类.
如果类之间存在依赖关系,而且被依赖的类以后可能被修改,则用依赖倒置原则,抽象出接口或抽象类。

  1. 从修改命名入手
  2. 函数应该短小,逻辑清晰,只做一件事,并做好这件事(SRP)
  3. 业务逻辑的重构
  4. 异常处理重构,系统异常与业务异常分离,类型安全,异常处理的时间点等
  5. 检查类的设计, 主要是OO, 高内聚低耦合、开闭原则、DIP、操作类与数据实体类的分离等

单元测试

单元测试基本流程:BUILD(构造数据) - OPERATE(操作) - CHECK(验证)
单元测试的first原则如下:
1.F fast 快
2.I Independent 独立
3.R repeat 可重复
4.S self-validate 自我验证
5.T Timely 及时编写

性能测试:

帮助开发人员了解重构的效果,检查重构方案的存在的不足,尽早发现和解决问题。

 

posted @   Daniel Chow  阅读(352)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示