【技术实现步骤摘要】
冗余代码分析方法、装置、电子设备、存储介质及产品
[0001]本公开涉及计算机
,尤其涉及冗余代码
,具体涉及一种冗余代码分析方法、装置、电子设备、存储介质及产品。
技术介绍
[0002]互联网的快速发展,基于用户不同的需求,出现不同的互联网业务。针对每个互联网业务,都会出现大量的策略迭代和架构的升级,以使得互联网业务更加稳定的服务于用户。
[0003]在大量的策略迭代和架构的升级过程中,一般都会产生大量的冗余代码。
技术实现思路
[0004]本公开提供了一种用于冗余代码分析方法、装置、电子设备、存储介质及产品。
[0005]根据本公开的第一方面,提供了一种冗余代码分析方法,所述方法包括:
[0006]在代码的配置文件中,获取控制变量,并确定所述控制变量的状态;根据所述状态,确定与所述控制变量相关的代码逻辑表达式;响应于所述代码逻辑表达式为无需执行的代码逻辑表达式,确定所述代码逻辑表达式为待下线的冗余代码。
[0007]根据本公开的第二方面,提供了一种冗余代码分析装置,所述装置包括:
[0008]获取模块,用于在代码的配置文件中,获取控制变量,并确定所述控制变量的状态;确定模块,用于根据所述状态,确定与所述控制变量相关的代码逻辑表达式;所述确定模块,还用于响应于所述代码逻辑表达式为无需执行的代码逻辑表达式,确定所述代码逻辑表达式为待下线的冗余代码。
[0009]根据本公开的第三方面,提供了一种电子设备,包括:
[0010]至少一个处理 ...
【技术保护点】
【技术特征摘要】
1.一种冗余代码分析方法,所述方法包括:在代码的配置文件中,获取控制变量,并确定所述控制变量的状态;根据所述状态,确定与所述控制变量相关的代码逻辑表达式;响应于所述代码逻辑表达式为无需执行的代码逻辑表达式,确定所述代码逻辑表达式为待下线的冗余代码。2.根据权利要求1所述的方法,其中,所述配置文件包括多个配置文件;所述在代码的配置文件中,获取控制变量,包括:获取每个配置文件对应的解析器,并基于所述解析器解析所述配置文件,得到多个控制变量;筛选所述多个控制变量,确定重复的控制变量;获取每个配置文件的优先级,基于所述优先级在所述重复的控制变量中,确定优先级最高的配置文件对应的控制变量;获取优先级最高的配置文件对应的控制变量和未重复的控制变量。3.根据权利要求1或2所述的方法,其中,所述状态包括开启状态和关闭状态;所述根据所述状态,确定与所述控制变量相关的代码逻辑表达式,包括:获取所述状态为关闭状态的控制变量;在关闭状态的控制变量中,确定与所述控制变量相关的条件代码逻辑表达式。4.根据权利要求1所述的方法,其中,所述响应于所述代码逻辑表达式为无需执行的代码逻辑表达式,确定所述代码逻辑表达式为待下线的冗余代码,包括:基于所述代码逻辑表达式的执行逻辑,确定所述代码逻辑表达式的语义;基于所述语义确定所述代码逻辑表达式的执行状态;将所述执行状态为无需执行的代码逻辑表达式,确定为待下线的冗余代码。5.根据权利要求4所述的方法,其中,所述基于所述代码逻辑表达式的执行逻辑,确定所述代码逻辑表达式的语义,包括:基于所述代码逻辑表达式的逻辑运算符对所述代码逻辑表达式进行拆分,得到至少一个具有单一逻辑的子代码逻辑表达式;确定每个子代码逻辑表达式的语义;基于所述逻辑运算符对每个子代码逻辑表达式的语义进行归并,得到所述代码逻辑表达式的语义。6.根据权利要求3所述的方法,其中,所述方法还包括:将所述冗余代码中的条件语句所在行,确定为冗余代码的起始行;遍历所述冗余代码,获取所述冗余代码中的指定符号,并将所述指定符号存入栈;将所述冗余代码中满足预设条件的栈所在行,确定为终止行。7.根据权利要求6所述的方法,其中,所述预设条件为代码逻辑表达式包括结束符且栈为空。8.根据权利要求1所述的方法,其中,所述确定所述代码逻辑表达式为待下线的冗余代码之后,所述方法还包括:获取所述冗余代码的起始行和所述冗余代码的终止行;响应于所述冗余代码的数量大于或等于预设数量阈值,对冗余代码的起始行和所述冗
余代码的终止行进行标注;对标注的冗余代码进行测试,并对通过测试的冗余代码进行下线。9.一种冗余代码分析装置,所述装置包括:获取模块,用于在代码的配置文件中,获取控制变量,并确定所述控制变量的状态;确定模块,用于根据所述状态,确定与所述控制变量相...
【专利技术属性】
技术研发人员:张传臣,李翼羽,李思,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。