一种代码注解检测的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39035023 阅读:13 留言:0更新日期:2023-10-10 11:48
本申请提供了一种代码注解检测的方法、装置、电子设备及存储介质,该方法包括:获取待编译分析项目的目标代码;响应插件引入操作,对所述目标代码进行修改,并在修改后的所述目标代码中插入注解检测编译插件;响应代码编译操作,在修改后的所述目标代码在编译的过程中,使用所述注解检测编译插件对修改后所述目标代码的注解进行检测,得到所述目标代码是否添加了注解的检测结果;若所述目标代码未添加注解,生成提示信息,以提醒用户对所述目标代码添加对应的注解。本申请以全自动化的方式,大大减少人工成本,在提升代码质量同时,又提升了项目开发效率。了项目开发效率。了项目开发效率。

【技术实现步骤摘要】
一种代码注解检测的方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种代码注解检测的方法、装置、电子设备及存储介质。

技术介绍

[0002]在软件开发过程中,为了方便代码的维护和理解,已及后续问题的追踪和排查,在团队代码开发过程中,通常会需要协作的开发这对与自己创建的方法编写对应的注解。但是在实际的项目开发过程中,由于开发人员编码习惯,项目开发进度紧急等原因,项目代码中很多方法没有添加对应的注解,这样对后续项目的维护造成比较大挑战。尤其是金融类软件,金融类软件的质量要求高,容错率低,如果不能保证其金融类软件中添加了注解的话,在对金融类软件进行维护的时候将会消耗大量的时间。对于金融类软件来说,时间的搁置将会造成很大的经济损失,所以对于金融类软件进行注解的检测是会很有必要的。
[0003]在常规的构建模式下,未对方法添加注解并不会引起项目的正常编译,所以这种遗漏很难被发现,通常情况下只能通过人工代码review方式,排查代码总未对方法进行注解的问题,但是这种方式会有如下问题:
[0004]1.需要耗费大量的人力时间,在项目比较紧急的情况下,会延误项目开发进度。
[0005]2.人工代码review的方式,很容易造成问题的遗漏,一些未添加注解的方法没有被排查出来,给后续的项目维护造成挑战。

技术实现思路

[0006]有鉴于此,本申请的目的在于提供一种代码注解检测的方法、装置、电子设备及存储介质,大大减少人工成本,在提升代码质量同时,又提升了项目开发效率。
[0007]第一方面,本申请实施例提供了一种代码注解检测的方法,所述方法包括:
[0008]获取待编译分析项目的目标代码;
[0009]响应插件引入操作,对所述目标代码进行修改,并在修改后的所述目标代码中插入注解检测编译插件;
[0010]响应代码编译操作,在修改后的所述目标代码在编译的过程中,使用所述注解检测编译插件对修改后所述目标代码的注解进行检测,得到所述目标代码是否添加了注解的检测结果;
[0011]若所述目标代码未添加注解,生成提示信息,以提醒用户对所述目标代码添加对应的注解。
[0012]在本申请一些技术方案中,上述使用所述注解检测编译插件对修改后所述目标代码的注解进行检测,得到所述目标代码是否添加了注解的检测结果,包括:
[0013]获取所述目标代码中的目标文件列表;
[0014]对所述目标文件列表中各个文件对应的抽象语法树进行抽象语法树分析,得到各个文件的分析结果;
[0015]根据各个文件的分析结果中方法声明节点的描述属性值,确定出各个方法是否添加了注解,进而确定出所述目标代码是否添加了注解。
[0016]在本申请一些技术方案中,上述方法通过以下方法确定各个方法是否添加注解:
[0017]若所述方法声明节点的描述属性值为空,该方法未添加注解;
[0018]若所述方法声明节点的描述属性值不为空,该方法添加了注解。
[0019]在本申请一些技术方案中,上述方法通过以下方式确定所述目标代码是否添加了注解:
[0020]若所述目标文件列表中所有的文件均添加了注解,所述目标代码添加了注解;
[0021]若所述目标文件列表中存在任一文件未添加注解,所述目标代码未添加注解。
[0022]在本申请一些技术方案中,上述方法通过以下方式得到所述目标文件列表:
[0023]获取所述目标代码所在文件夹的地址,对该地址下的文件进行检测,将包含有预设结尾标识的文件组合在一起得到所述目标文件列表。
[0024]在本申请一些技术方案中,上述方法还包括:
[0025]响应添加完成操作,对添加后注解的目标代码再次进行检测。
[0026]在本申请一些技术方案中,上述方法通过以下方式构建插件:
[0027]响应项目模板选择操作,在开发工具中选择目标项目模板;
[0028]响应插件工程创建操作,根据所述目标项目模板创造注解检测编译插件工程;所述注解检测编译插件工程中的项目对象模型能够自动引入插件接口依赖库;
[0029]响应项目对象模型修改操作,在所述注解检测编译插件工程中的项目对象模型中增加依赖配置,并在所述依赖配置中添加软件开发工具包;
[0030]响应继承类创建操作,在所述注解检测编译插件工程中,创建对应的继承类,并在所述继承类中实现执行方法;
[0031]对所述注解检测编译插件工程进行编译,得到目标格式的注解检测编译插件。
[0032]第二方面,本申请实施例提供了一种代码注解检测的装置,所述装置包括:
[0033]获取模块,用于获取待编译分析项目的目标代码;
[0034]第一响应模块,用于响应插件引入操作,对所述目标代码进行修改,并在修改后的所述目标代码中插入注解检测编译插件;
[0035]第二响应模块,用于响应代码编译操作,在修改后的所述目标代码在编译的过程中,使用所述注解检测编译插件对修改后所述目标代码的注解进行检测,得到所述目标代码是否添加了注解的检测结果;
[0036]提示模块,用于若所述目标代码未添加注解,生成提示信息,以提醒用户对所述目标代码添加对应的注解。
[0037]第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的代码注解检测的方法的步骤。
[0038]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的代码注解检测的方法的步骤。
[0039]本申请的实施例提供的技术方案可以包括以下有益效果:
[0040]本申请方法包括获取待编译分析项目的目标代码;响应插件引入操作,对所述目标代码进行修改,并在修改后的所述目标代码中插入注解检测编译插件;响应代码编译操作,在修改后的所述目标代码在编译的过程中,使用所述注解检测编译插件对修改后所述目标代码的注解进行检测,得到所述目标代码是否添加了注解的检测结果;若所述目标代码未添加注解,生成提示信息,以提醒用户对所述目标代码添加对应的注解。本申请以全自动化的方式,大大减少人工成本,在提升代码质量同时,又提升了项目开发效率。
[0041]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0042]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0043]图1示出了本申请实施例所提供的一种代码注解检测的方法的流程示意图;
[0044]图2示出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码注解检测的方法,其特征在于,所述方法包括:获取待编译分析项目的目标代码;响应插件引入操作,对所述目标代码进行修改,并在修改后的所述目标代码中插入注解检测编译插件;响应代码编译操作,在修改后的所述目标代码在编译的过程中,使用所述注解检测编译插件对修改后所述目标代码的注解进行检测,得到所述目标代码是否添加了注解的检测结果;若所述目标代码未添加注解,生成提示信息,以提醒用户对所述目标代码添加对应的注解。2.根据权利要求1所述的方法,其特征在于,所述使用所述注解检测编译插件对修改后所述目标代码的注解进行检测,得到所述目标代码是否添加了注解的检测结果,包括:获取所述目标代码中的目标文件列表;对所述目标文件列表中各个文件对应的抽象语法树进行抽象语法树分析,得到各个文件的分析结果;根据各个文件的分析结果中方法声明节点的描述属性值,确定出各个方法是否添加了注解,进而确定出所述目标代码是否添加了注解。3.根据权利要求2所述的方法,其特征在于,所述方法通过以下方法确定各个方法是否添加注解:若所述方法声明节点的描述属性值为空,该方法未添加注解;若所述方法声明节点的描述属性值不为空,该方法添加了注解。4.根据权利要求2所述的方法,其特征在于,所述方法通过以下方式确定所述目标代码是否添加了注解:若所述目标文件列表中所有的文件均添加了注解,所述目标代码添加了注解;若所述目标文件列表中存在任一文件未添加注解,所述目标代码未添加注解。5.根据权利要求2所述的方法,其特征在于,所述方法通过以下方式得到所述目标文件列表:获取所述目标代码所在文件夹的地址,对该地址下的文件进行检测,将包含有预设结尾标识的文件组合在一起得到所述目标文件列表。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应添加完成操...

【专利技术属性】
技术研发人员:吴艳兵
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1