逆水行船

别人的天堂,是我的异乡;无端的繁华,倍添我的惆怅

 

我的重构步骤

第一步:注释检查
   1:是否利于阅读
   2:检查注释是否充分
   3:是否存在多于的注释
   4:注释是否与代码一致
   5:是否有假设依赖条件需要特别说明
   6:是否需要对框架,调用关系进行说明
第二步:检查类、函数、变量命名
   1:检查命名是否表达了含义,是否还有更合适的名称。
   2:整个项目中,命名风格是否一致。
   3:不阅读注释,是否能从名称中读出需要的信息
   4:类成员的调用是否用了this,是否有m_前缀,静态成员是否有s前缀,全局成员是否有::。
第三步:检查方法的复杂度
   1:检查方法嵌套是否太深,是否可以修改嵌套
   2:检查局部变量的声明与使用之间,是否距离太远
   3:检查for循环中,是否存在重复的执行操作,例如数组的长度等
   4:检查函数的个数是否合适
   5:检查多个函数之间,变量位置是否一致
   6:函数参数是否可以更少
   7:检查函数的注释是否合适,是否利于阅读
第四步:检查函数的长度并进行拆分
   1:检查方法的长度是否过长,如果过长,则是否可以拆分为多个函数
   2:多个函数之间,是否有相似的代码,如果有,抽象成一个函数
   3:检查函数是否太多,类是否太复杂,如果太多,太复杂,是否存在不需要拆分的函数
   4:通读函数,检查函数阅读是否顺畅
第五步:检查相似类
   1:找出相似类之间的类似点。
   2:根据类似点,抽象出基类。
   3:根据类似点,抽象出公共函数。
   4:修改子类继承于基类。
   5:代码的可读性与继承之间的取舍。
第六步:检查类成员的可见性
   1:检查基类成员是否可以设置为private,public。
   2:检查所有类成员的可见性:private,protected,public。
第七步:查看多个类之间的关系
   1:检查多个类之间的关系,是否可以进一步抽象。
   2:在可读性,抽象性,代码性能,编程效率之间进行抉择。
第八步:请别人阅读代码,并提供意见。

posted on   荣-  阅读(662)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2005-08-12 C/S中的MVC(4)
2005-08-12 C/S中的MVC(3)
2005-08-12 C/S中的MVC(2)
2005-08-12 C/S中的MVC(1)

导航

统计

点击右上角即可分享
微信分享提示