关于重构需要了解的一些原则
基本原则:
- 现有业务逻辑、依赖与关联分析清楚
- 对于一些不合理的业务逻辑要从技术的角度去引导需求,达到业务需求与技术的平衡
- 重构之后运行所有测试,确保第1点正常或者在预期范围内
- 代码尽量清楚地表达程序员意图(注释、逻辑清晰以及命名规范等)
注:重要性从上往下
代码重构主要关注的点:
- OO (面向对象的三大基本原则)
- SRP (权责单一,类只有一条被修改的理由)
- DYR (没有重复代码)
- OCP (开闭原则,类对扩展开放,对修改关闭)
- DIP (依赖倒置)
- LKP (最少知识原则,类与类之间的耦合最低)
代码部分动手基本思路:
前提是基本原则中的第1、2点 , 评审过后才能对代码动手:
从需要重构的方法开始,依据SRP细分函数功能.再根据SPR原则分离为不同的类.
如果类之间存在依赖关系,而且被依赖的类以后可能被修改,则用依赖倒置原则,抽象出接口或抽象类。
- 从修改命名入手
- 函数应该短小,逻辑清晰,只做一件事,并做好这件事(SRP)
- 业务逻辑的重构
- 异常处理重构,系统异常与业务异常分离,类型安全,异常处理的时间点等
- 检查类的设计, 主要是OO, 高内聚低耦合、开闭原则、DIP、操作类与数据实体类的分离等
单元测试:
单元测试基本流程:BUILD(构造数据) - OPERATE(操作) - CHECK(验证)
单元测试的first原则如下:
1.F fast 快
2.I Independent 独立
3.R repeat 可重复
4.S self-validate 自我验证
5.T Timely 及时编写
性能测试:
帮助开发人员了解重构的效果,检查重构方案的存在的不足,尽早发现和解决问题。
--------------------------------------------------------------------------
Daniel Chow's Blog - 不管你在哪里,都要有一颗创业的心!
http://www.cnblogs.com/DanielChow/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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,谁才是开发者新宠?