[发明专利]一种代码重构方法及装置在审
申请号: | 202011156119.X | 申请日: | 2020-10-26 |
公开(公告)号: | CN114489778A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 梁广泰;王一凡;张晓东 | 申请(专利权)人: | 华为云计算技术有限公司 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 朱琳琳 |
地址: | 550025 贵州省贵阳市*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 方法 装置 | ||
一种代码重构方法及装置,用以提供一种高效的代码重构方法。本申请中,代码重构装置可以先获取集合开发环境中代码的跳转信息,该跳转信息可以指示该代码中已发生的代码跳转行为,之后,根据该跳转信息确定该代码中的目标关注范围,之后再检测该目标关注范围中代码的存在的潜在风险,对存在潜在风险的代码进行重构。用户不再需要指定区域,也不需要对整个代码进行重构。代码重构装置能够通过代码中发生的代码跳转行为进行分析,确定出被用户关注的区域,也即目标关注范围,之后,再对该目标关注范围中的代码进行重构,这种代码重构方法更加高效,同时也能满足用户的需求,提供较佳的用户体验。
技术领域
本申请涉及通信技术领域,尤其涉及一种代码重构方法及装置。
背景技术
代码中的潜在风险是指代码中存在的一些不稳定以及潜在问题,代码中潜在风险的产生原因有很多,例如代码中功能的附加以及变更,均可能在代码中引入一些潜在风险,潜在风险的存在使得代码的开发难度增大,为此需要对代码进行重构,消除这些潜在风险。
目前代码重构通常存在两种方式,其一为:由用户自行选择代码中需要重构的区域,之后再由代码重构装置对用户选择的区域内的代码进行重构,其二为:重构装置对整个代码进行重构。前者依赖于用户,无法实现自动化重构,后者由于代码重构的范围较大,效率较低。
发明内容
本申请提供一种代码重构方法及装置,用以提供一种高效的代码重构方法。
第一方面,本申请实施例提供了一种代码重构方法,该方法由代码重构装置执行,该方法中,代码重构装置可以先获取集合开发环境中代码的跳转信息,该跳转信息可以指示该代码中已发生的代码跳转行为,这里并不限定跳转信息中指示的代码跳转行为的数量,之后,根据该跳转信息确定该代码中的目标关注范围,之后再检测该目标关注范围中代码的存在的潜在风险,对存在潜在风险的代码进行重构。
通过上述方法,代码重构装置确定的目标关注范围是由用于指示代码跳转行为的跳转信息确定的,用户不再需要指定区域,也不需要对整个代码进行重构。代码重构装置能够通过代码中发生的代码跳转行(也即跳转信息指示的内容)为进行分析,确定出被用户关注的区域,也即目标关注范围,之后,再对该目标关注范围中的代码进行重构,这种代码重构方法更加高效,同时也能满足用户的需求,提供较佳的用户体验。
一种可能的实施方式中,代码重构装置在根据跳转信息确定代码中的目标关注范围时,可以先根据跳转信息从代码中确定候选关注范围,候选关注范围为发生代码跳转行为的次数大于预设阈值的代码范围;代码重构装置可以直接将确定的候选关注范围作为目标关注范围,也可以通知用户,由用户选择或确认出目标关注范围,例如,代码重构装置可以向用户展示候选关注范围,用户可以对该候选关注范围进行选择或确认,代码重构装置根据用户的选择或确认操作,从候选关注范围中确定目标关注范围。
通过上述方法,可以通过不同方式确定目标关注范围,适用于不同的应用场景,另外,由用户选择或确认目标关注范围的方式,能够使用户参与到目标关注范围的确定过程中,使得最终确定的目标关注范围是满足用户自身需求的区域。
一种可能的实施方式中,代码重构装置除了根据跳转信息确定目标关注范围,还能够根据跳转信息确定代码所在的软件代码架构中的函数(函数也可以称为方法)的调用关系,代码重构装置可以直接使用该函数的调用关系,也可以先由用户进行确认或选择,之后再根据用户的选择或确认,确定用户选择或确认的函数的调用关系。
通过上述方法,代码重构装置还可以利用跳转信息进行分析,以获取函数的调用关系,以便后续对代码所在的软件代码架构进行数据流分析,能够分析获得更多代码中存在的潜在风险。
一种可能的实施方式中,代码重构装置在检测目标关注范围内的潜在风险时,可以根据用户选择的函数的调用关系,在目标关注范围内检测潜在风险。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为云计算技术有限公司,未经华为云计算技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011156119.X/2.html,转载请声明来源钻瓜专利网。