[发明专利]源代码检查方法、装置及终端设备有效
申请号: | 201910180363.0 | 申请日: | 2019-03-11 |
公开(公告)号: | CN110018828B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 刘均;覃定鹏;王力 | 申请(专利权)人: | 深圳市元征科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 检查 方法 装置 终端设备 | ||
1.一种源代码检查方法,其特征在于,包括:
获取需要检查的源代码;
获取与所述源代码对应的配置文件,所述配置文件包括所述源代码中循环语句出现的变量;
判断所述源代码中同一行循环语句的所有变量是否都与所述配置文件的变量相同;
若所述源代码中同一行循环语句的所有变量没有都与所述配置文件的变量相同,则发出提示,所述提示包括可能出现问题的位置信息;
若所述源代码中循环语句出现的变量的个数大于1,则所述配置文件还包括所述源代码中循环语句出现的变量的总数,此时,所述判断所述源代码中同一行循环语句的所有变量是否都与所述配置文件的变量相同具体为:
判断所述源代码中同一行循环语句的所有变量是否都与所述配置文件的同一变量相同。
2.如权利要求1所述的源代码检查方法,其特征在于,所述若所述源代码中同一行循环语句的所有变量没有都与所述配置文件的变量相同,则发出提示具体为:
若所述源代码中同一行循环语句的所有变量没有都与所述配置文件的同一变量相同,则发出提示。
3.如权利要求1所述的源代码检查方法,其特征在于,所述判断所述源代码中同一行循环语句的所有变量是否都与所述配置文件的同一变量相同,包括:
查找所述源代码中具有for关键字的循环语句;
判断同一行for循环语句中的初始化表达式的变量、条件表达式的变量以及末尾循环体的变量是否都与所述配置文件的同一变量相同;
对应地,所述若所述源代码中同一行循环语句的所有变量没有都与所述配置文件的同一变量相同,则发出提示具体为:
若所述源代码中同一行for循环语句的初始化表达式的变量、条件表达式的变量以及末尾循环体的变量没有都与所述配置文件的同一变量相同,则发出提示。
4.如权利要求3所述的源代码检查方法,其特征在于,在所述判断同一行for循环语句中的初始化表达式的变量、条件表达式的变量以及末尾循环体的变量是否都与所述配置文件的同一变量相同之前,包括:
删除查找到的具有for关键字的循环语句中等于号前后的空格。
5.如权利要求3或4所述的源代码检查方法,其特征在于,所述若所述源代码中同一行for循环语句的初始化表达式的变量、条件表达式的变量以及末尾循环体的变量没有都与所述配置文件的同一变量相同,则发出提示,包括:
采用以下正则表达式判断所述源代码中具有for关键字的循环语句的初始化表达式的变量是否与所述配置文件的同一变量相同,以及判断对应的条件表达式的变量是否与所述初始化表达式的变量相同:
for.*.变量=*.;[\s]*[^变量].*.;其中,公式中的变量是指配置文件的任一变量,=*.表示等号以及等号之后的字符串,[\s]*表示条件表达式中数量不等的空格,[^变量]表示在数量不等的空格之后的字符串不是中括号里的变量,.*.表示条件表达式;
若判断出所述源代码中具有for关键字的循环语句的初始化表达式的变量与所述配置文件的同一变量相同,且判断出对应的条件表达式的变量与所述初始化表达式的变量不同,则发出提示。
6.如权利要求3或4所述的源代码检查方法,其特征在于,所述若所述源代码中同一行for循环语句的初始化表达式的变量、条件表达式的变量以及末尾循环体的变量没有都与所述配置文件的同一变量相同,则发出提示,包括:
采用以下正则表达式判断所述源代码中具有for关键字的循环语句的初始化表达式的变量以及条件表达式的变量是否都与所述配置文件的同一变量相同,以及判断对应的末尾循环体的变量是否与所述初始化表达式的变量相同:
for.*.变量=*.;.*.;[\s]*[^变量],其中,公式中的变量是指配置文件的任一变量,=*.表示等号以及等号之后的字符串,.*.表示条件表达式,[\s]*表示条件表达式中数量不等的空格,[^变量]表示在数量不等的空格之后的字符串不是中括号里的变量;
若判断出所述源代码中具有for关键字的循环语句的初始化表达式的变量以及表达式的变量与所述配置文件的同一变量相同,且判断出对应的末尾循环体的变量与所述初始化表达式的变量不同,则发出提示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市元征科技股份有限公司,未经深圳市元征科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910180363.0/1.html,转载请声明来源钻瓜专利网。