文章目录
- 1. 方法重构
- 1.1 操作方式
- 1.2 优化方式
- 2. 类重构
- 2.1 操作方式
- 2.2 优化方式
- 3. 基于代码分析重构
- 3.1 操作方式
- 4 基于重复代码重构
- 4.1 操作方式
本篇主要基于AI工具 TONGYI Lingma, 静态代码分析工具 Qodana 进行讨论
1. 方法重构
当你对某个封装的方法不满意时, 借助AI工具TONGYI Lingma 的Generate Optimization进行重构,适用于一些静态方式/ 内部逻辑的复杂的代码等
1.1 操作方式
选中代码–>右键–> TONGYI Lingma–>Generate Optimization
或者 选中代码+快捷键
1.2 优化方式
- 分析代码
- 报告潜在问题及风险
- 修改后代码
- 及优化内容解释
2. 类重构
当你对某个包装类不满意时, 借助AI工具TONGYI Lingma 的Generate Optimization进行重构,分析了上下文类的属性、方法和整体逻辑可能存在的风险,适用于一些类进行安全、性能、可维护提升时的优化
2.1 操作方式
选中代码–>右键–> TONGYI Lingma–>Generate Optimization
或者 选中代码+快捷键
2.2 优化方式
- 安全性和异常处理
- 性能和可维护性
- 并发安全
- 代码风格
- 注释和文档
- 依赖注入
- 代码整洁性
3. 基于代码分析重构
虽然TONGYI Lingma能完成原则类分析,但是在项目整体分析上,暂时还没有相关功能。在2023+ 的IDEA中可以使用Qodana进行代码分析。
Qodana与Alibaba Java Coding Guidelines(阿里代码检查) 类型,使用Qodana扫描后,根据结果自行判断是否修改,包含以下级别:
• PrimaryData(qodanaSeverity=Critical) 严重
• PrimaryData(qodanaSeverity=High) 高级
• PrimaryData(qodanaSeverity=Moderate) 中等
如图所示,分别从克隆、代码、控制流、错误拦截等等给出优化建议
3.1 操作方式
Tools–>Qodana–>Try Code Analysis with Qodana
选择云模式 和本地模式
对于分析结果中,觉得优先级低的错误警告,可以配置忽略目录分析和忽略错误分析的两种方式
右键–>Excluede from Qodana Analysis
当你执行exclude之后,会在qodana.yml 自动看到排除的配置
4 基于重复代码重构
重复代码审查的意义,如果有相似和相同的代码文件时,当一处存在bug需要修改多处, 对于相似文件来说,可能合并意义很大, 但是话说回来相似代码片段的话,业务代码可能存在大部分的相似之处,如何在扫描时,配置合理的重复行数,也挺难决策的,即使配合IDEA的Extract Method(快速提取方法)虽然可以很快重构,但是想事半功倍也挺难的。
4.1 操作方式
code–> Analyze Code -->Locate Duplicates
分析结果如图所示, 直接根据相似的文件去优化代码即可