【技术实现步骤摘要】
代码重构方法及装置
[0001]本申请涉及信息技术(information technology,IT)领域,尤其涉及代码重构方法及装置。
技术介绍
[0002]在开发过程中,为了改善代码工程的质量,经常需要对代码进行重构。代码重构(英语:Code refactoring)就是在不改变软件系统外部行为的前提下,改善它的内部结构。
[0003]在传统的代码重构过程中,开发人员往往需要先从架构层面了解整个代码结构,再基于当前不良设计来设计重构策略,最后从代码层面入手实施并完成代码重构。代码重构过程中,发现代码中的不良设计往往需要较高的层面来了解整个代码工程,但是,重构修复这个不良设计却只能从底层的代码层面着手,修改具体的代码。开发人员在重构时往往需要在不同的代码层面中进行切换,从而导致代码重构效率低。
技术实现思路
[0004]本申请实施例提供了代码重构方法及装置,能够大大提升代码重构效率。
[0005]第一方面,本申请实施例提供一种代码重构方法,包括:
[0006]呈现第一用户界面,所述第一用户界面用于指示第一代码工程的代码结构,所述代码结构包含包、类、类成员或底层代码中的一种或多种元素;
[0007]接收用户在所述第一用户界面上输入的第一操作,所述第一操作用于更新所述第一代码工程的代码结构;
[0008]基于所述第一操作向第一服务器请求重构所述第一代码工程。
[0009]本申请实施例能够在用户界面上向用户呈现代码架构图,而用户通过界面操作就能够对代码结构 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种代码重构方法,其特征在于,包括:呈现第一用户界面,所述第一用户界面用于指示第一代码工程的代码结构,所述代码结构包含包、类、类成员或底层代码中的一种或多种元素;接收用户在所述第一用户界面上输入的第一操作,所述第一操作用于更新所述第一代码工程的代码结构;基于所述第一操作向第一服务器请求重构所述第一代码工程。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取经过重构的所述第一代码工程。3.根据权利要求2所述的方法,其特征在于,所述第一操作包含针对所述元素的移动、增加、删除、编辑等中的一项或者多项。4.根据权利要求1
‑
3任一项所述的方法,其特征在于,所述第一用户界面还用于指示所述第一代码工程中存在的代码架构坏味道。5.根据权利要求4所述的方法,其特征在于,所述第一代码工程中存在的代码架构坏味道对应于所述元素;所述第一用户界面还用于通过颜色区分所述元素中存在代码架构坏味道的程度。6.根据权利要求3或4所述的方法,其特征在于,在所述呈现第一用户界面之前,所述方法还包括:接收第二服务器提供的所述第一代码工程的第一指示信息,所述第一指示信息用于指示所述第一代码工程中存在的代码架构坏味道。7.根据权利要求1
‑
6任一项所述的方法,其特征在于,所述第一用户界面还用于指示重构推荐,所述重构推荐用于提示用户针对所述第一代码工程中存在的代码架构坏味道对所述第一代码工程进行修改。8.根据权利要求7所述的方法,其特征在于,在所述呈现第一用户界面之前,所述方法还包括:接收第二服务器发送的所述重构推荐。9.根据权利要求1
‑
8任一项所述的方法,其特征在于,所述基于所述第一操作向服务器请求重构所述第一代码工程,包括:根据所述第一操作,得到原子重构序列,所述原子重构序列用于记录更新第一代码工程的操作顺序;向所述第一服务器发送重构请求消息,所述重构请求消息包含所述原子重构序列。10.根据权利要求1
‑
9任一项所述的方法,其特征在于,所述原子重构序列包含多个原子重构操作,每个原子重构操作包含原子重构操作的标识和所述原子重构操作涉及的第一代码工程中的参数。11.根据权利要求1
‑
10任一项所述的方法,其特征在于,所述呈现第一用户界面之前,所述方法还包括:向第三服务器发送所述第一代码工程的第二指示信息;接收所述第三服务器提供的所述第一代码工程的代码结构。12.一种代码重构方法,其特征在于,包括:接收来自用户设备的重构请求消息,所述重构请求消息是根据在所述第一用户界面上
输入的第一操作得到的,所述第一用户界面用于指示第一代码工程的代码结构,所述代码结构包含包、类、类成员或底层代码中的一种或多种元素,所述第一操作用于更新第一代码工程的代码结构;根据所述重构请求消息,对所述第一代码工程进行重构。13.根据权利要求12所示的方法,其特征在于,所述方法还包括;向所述用户设备反馈经过重构的所述第一代码工程。14.根据权利要求13所述的方法,其特征在于,所述第一操作包含针对所述元素的移动、增加、删除、编辑中的一项或者多项。15.根据权利要求12
‑
14任一项所述的方法,其特征在于,所述方法还包括:确定所述第一代码工程中存在的代码架构坏味道;向所述用户设备发送第一指示信息,所述第一指示信息用于指示所述第一代码工程中存在的代码架构坏味道。16.根据权利要求15所述的方法,其特征在于,所述第一代码工程中存在的代码架构坏味道对应于所述元素;所述第一用户界面还用于通过颜色区分指示所述元素中存在代码架构坏味道的程度。17.根据权利要求15或16所述的方法,其特征在于,所述确定所述第一代码工程中存在的代码架构坏味道,包含:通过架构坏味道检测模型,确定所述第一代码工程中的代码架构坏味道。18.根据权利要求13
‑
15任一项所述的方法,其特征在于,所述确定所述第一代码工程中存在的代码架构坏味道,包含:对所述第一代码工程进行代码静态分析、文本相似度计算,得到所述第一代码工程中的代码架构坏味道。19.根据权利要求12
‑
18任一项所述的方法,其特征在于,所述方法还包括:确定重构推荐,所述重构推荐用于提示用户针对所述第一代码工程中存在的代码架构坏味道对所述第一代码工程进行修改;向所述用户设备发送所述重构推荐。20.根据权利要求12
‑
技术研发人员:梁广泰,王一凡,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。