CN113867783A - 代码注释检测方法及装置 - Google Patents
代码注释检测方法及装置 Download PDFInfo
- Publication number
- CN113867783A CN113867783A CN202111160469.8A CN202111160469A CN113867783A CN 113867783 A CN113867783 A CN 113867783A CN 202111160469 A CN202111160469 A CN 202111160469A CN 113867783 A CN113867783 A CN 113867783A
- Authority
- CN
- China
- Prior art keywords
- annotation
- preset
- code
- rule
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开提供一种代码注释检测方法及装置,所述方法包括基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。本公开的代码注释检测方法能够保证每个代码文件均有对应的注释,并且是符合要求的注释,可以有效地帮助编程人员理解代码的含义和规则,减少编程人员之间的沟通成本,有效提高工作效率。
Description
技术领域
本公开涉及检测技术领域,尤其涉及一种代码注释检测方法及装置。
背景技术
很多技术人员不习惯对代码进行注释,导致代码的可读性很差,很多人的英语水平层次不齐,或者有些人干脆用拼音定义方法名称,这都导致代码的可读性非常差。
对于有些人来说,会使用文档注释,另外一些人却喜欢单行注释的方式,最后的结果就是代码标准化比较差。有些人用他自己的方式写一段逻辑,另外一些人却习惯另外一种逻辑写代码,然而都没有写注释,其他人看这段代码就会云里雾里。
公开于本申请背景技术部分的信息仅仅旨在加深对本申请的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
发明内容
本公开实施例提供一种代码注释检测方法及装置,能够保证每个代码文件均有对应的注释,并且是符合要求的注释,可以有效地帮助编程人员理解代码的含义和规则,减少编程人员之间的沟通成本,有效提高工作效率。
本公开实施例的第一方面,提供一种方法代码注释检测方法,包括:
基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
在一种可选的实施方式中,
所述预设的注释符号包括“/*”或“//”,
在判断与所述注释符号对应的注释信息是否符合预设注释规则之前,所述方法还包括:
获取与所述预设的注释符号对应的注释信息。
在一种可选的实施方式中,
所述判断与所述注释符号对应的注释信息是否符合预设注释规则的方法包括:
获取所述注释符号对应的注释信息的字符数量,判断所述字符数量是否满足预设注释规则;
若所述字符数量小于预设阈值,则判定所述注释符号对应的注释信息不符合预设注释规则。
在一种可选的实施方式中,
所述判断与所述注释符号对应的注释信息是否符合预设注释规则的方法还包括:
获取所述注释符号对应的注释信息的语言类型,判断所述语言类型是否满足预设语言规则;
若所述语言类型不满足预设语言规则,则判定所述注释符号对应的注释信息不符合预设注释规则。
在一种可选的实施方式中,
所述代码注释检测工具包括NodeJS管理工具。
本公开实施例的第二方面,提供一种代码注释检测装置,包括:
第一单元,用于基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
第二单元,用于根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
第三单元,用于若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
第四单元,用于若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
在一种可选的实施方式中,
所述预设的注释符号包括“/*”或“//”,
所述装置还包括第五单元,所述第五单元用于:
获取与所述预设的注释符号对应的注释信息。
在一种可选的实施方式中,
所述第三单元还用于:
获取所述注释符号对应的注释信息的字符数量,判断所述字符数量是否满足预设注释规则;
若所述字符数量小于预设阈值,则判定所述注释符号对应的注释信息不符合预设注释规则。
在一种可选的实施方式中,
所述第三单元还用于:
获取所述注释符号对应的注释信息的语言类型,判断所述语言类型是否满足预设语言规则;
若所述语言类型不满足预设语言规则,则判定所述注释符号对应的注释信息不符合预设注释规则。
在一种可选的实施方式中,
所述代码注释检测工具包括NodeJS管理工具。
本公开实施例提供一种代码注释检测方法,包括基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
本公开实施例的代码注释检测方法,能够保证每个代码文件均有对应的注释,并且是符合要求的注释,可以有效地帮助编程人员理解代码的含义和规则,减少编程人员之间的沟通成本,有效提高工作效率。
附图说明
图1为本公开实施例代码注释检测方法的流程示意图;
图2为本公开实施例代码注释检测装置的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
应当理解,在本公开中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本公开中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本公开中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
随着软件行业的快速发展和软件需求的日益增长,如何快速开发出规范稳定的代码成为所有研发人员面对的难题。快速的开发代码利于迅速满足用户需求,缩短研发周期,降低研发成本;规范的代码降低了代码的阅读和修改难度,便于代码的二次需求开发和维护成本;而稳定的代码利于提高用户满意度,提高产品的质量。
在实际的代码开发过程中,基本上需要依赖于员工自觉性地遵守代码编码规范,由于编写人员的编写习惯,导致代码规范程度也是参差不齐,此种只能靠开发人员等员工自己把握的方式,由于缺少自动监控机制实时监测,从而导致实际应用中编写人员的代码规范效果不是很理想,执行效率也较低。
图1示例性地示出本公开实施例代码注释检测方法的流程示意图,如图1所示,所述方法包括:
步骤S101、基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
示例性地,当代码注释检测工具配置完成后,可以在接收到代码文件时,对接收到的代码文件进行扫描。扫描的方式可以是实时扫描或定时扫描,具体为,当代码注释检测工具接收到代码文件时,代码注释检测工具实时对接收到的代码文件进行扫描。
或者,当代码注释检测工具接收到代码文件时,代码注释检测工具根据预置时长或时刻,在接收到代码文件的时长或时刻满足预置时长或时刻时,对代码文件进行扫描。当代码注释检测工具对代码文件进行扫描时,读取扫描到的代码文件信息。
在一种可选的实施方式中,
所述代码注释检测工具包括NodeJS管理工具。
示例性地,NodeJS管理工具是基于Chrome V8引擎的JavaScript运行环境,使用事件驱动、非阻塞式I/O的模型,使其轻量又高效。
需要说明的是,本公开实施例的方法可以应用在JavaScript语言中,JavaScript是一门运行在浏览器端的脚本语言,用来做客户端页面的交互。
步骤S102、根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
在一种可选的实施方式中,
所述预设的注释符号包括“/*”或“//”,
在判断与所述注释符号对应的注释信息是否符合预设注释规则之前,所述方法还包括:
获取与所述预设的注释符号对应的注释信息。
示例性地,注释信息可以包括单行注释或多行注释,其中单行注释可以用“//”表示,多行注释可以用“/*”表示,且不仅多行注释的开始代码用“/*”表示,结束代码也要用“/*”表示。
需要说明的是,上述注释符号只是示例性说明,本公开实施例对注释符号并不进行具体限定。
在实际应用中,当对代码文件进行扫描后,是可以获取与所述预设的注释符号对应的注释信息。
步骤S103、若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
在一种可选的实施方式中,
所述判断与所述注释符号对应的注释信息是否符合预设注释规则的方法包括:
获取所述注释符号对应的注释信息的字符数量,判断所述字符数量是否满足预设注释规则;
若所述字符数量小于预设阈值,则判定所述注释符号对应的注释信息不符合预设注释规则。
示例性地,本公开实施例中预设阈值可以为8,也即若注释信息的字符数量小于8个,则判定注释符号对应的注释信息不符合预设注释规则。需要说明的是,本公开实施例中预设阈值的具体数值可以根据实际需求进行设定,本公开实施例对此不进行限定。
在一种可选的实施方式中,
所述判断与所述注释符号对应的注释信息是否符合预设注释规则的方法还包括:
获取所述注释符号对应的注释信息的语言类型,判断所述语言类型是否满足预设语言规则;
若所述语言类型不满足预设语言规则,则判定所述注释符号对应的注释信息不符合预设注释规则。
示例性地,本公开实施例还可以对注释语言进行限定,也即可以规定注释语言为中文,若注释语言不符合预设语言规则,则判定注释信息不符合预设注释规则。
步骤S104、若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
示例性地,若注释信心不符合预设注释规则,则进行报错,并且给出相应的提示文件,以使编程人员能够尽快找到代码编译不通过的原因,并对代码进行相应的调整。
在今后的项目维护中,可以通过注释更好的理解代码,在理解代码的基础上可以更好的扩展代码,扩充功能。养成写注释的习惯后,可以更好的组织逻辑思维,对个人的能力提高有所帮助。
本公开实施例提供一种代码注释检测方法,包括基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
本公开实施例的代码注释检测方法,能够保证每个代码文件均有对应的注释,并且是符合要求的注释,可以有效地帮助编程人员理解代码的含义和规则,减少编程人员之间的沟通成本,有效提高工作效率。
图2示例性地示出本公开实施例代码注释检测装置的结构示意图,如图2所示,所述装置包括:
第一单元21,用于基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
第二单元22,用于根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
第三单元23,用于若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
第四单元24,用于若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
在一种可选的实施方式中,
所述预设的注释符号包括“/*”或“//”,
所述装置还包括第五单元,所述第五单元用于:
获取与所述预设的注释符号对应的注释信息。
在一种可选的实施方式中,
所述第三单元23还用于:
获取所述注释符号对应的注释信息的字符数量,判断所述字符数量是否满足预设注释规则;
若所述字符数量小于预设阈值,则判定所述注释符号对应的注释信息不符合预设注释规则。
在一种可选的实施方式中,
所述第三单元23还用于:
获取所述注释符号对应的注释信息的语言类型,判断所述语言类型是否满足预设语言规则;
若所述语言类型不满足预设语言规则,则判定所述注释符号对应的注释信息不符合预设注释规则。
在一种可选的实施方式中,
所述代码注释检测工具包括NodeJS管理工具。
需要说明的是,本公开实施例的装置实施例的有益效果,可以参考前述方法实施例的有益效果,本公开实施例在此不再赘述。
本公开还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (10)
1.一种代码注释检测方法,其特征在于,包括:
基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
2.根据权利要求1所述的代码注释检测方法,其特征在于,所述预设的注释符号包括“/*”或“//”,
在判断与所述注释符号对应的注释信息是否符合预设注释规则之前,所述方法还包括:
获取与所述预设的注释符号对应的注释信息。
3.根据权利要求1所述的代码注释检测方法,其特征在于,所述判断与所述注释符号对应的注释信息是否符合预设注释规则的方法包括:
获取所述注释符号对应的注释信息的字符数量,判断所述字符数量是否满足预设注释规则;
若所述字符数量小于预设阈值,则判定所述注释符号对应的注释信息不符合预设注释规则。
4.根据权利要求1所述的代码注释检测方法,其特征在于,所述判断与所述注释符号对应的注释信息是否符合预设注释规则的方法还包括:
获取所述注释符号对应的注释信息的语言类型,判断所述语言类型是否满足预设语言规则;
若所述语言类型不满足预设语言规则,则判定所述注释符号对应的注释信息不符合预设注释规则。
5.根据权利要求1所述的代码注释检测方法,其特征在于,
所述代码注释检测工具包括NodeJS管理工具。
6.一种代码注释检测装置,其特征在于,包括:
第一单元,用于基于预先安装并配置完成的代码注释检测工具,获取目标代码文件的扫描信息;
第二单元,用于根据所述扫描信息,判断所述扫描信息中是否存在预设的注释符号,
第三单元,用于若存在所述预设的注释符号,则判断与所述注释符号对应的注释信息是否符合预设注释规则,
第四单元,用于若所述注释信息不符合预设注释规则,则进行报错,并且给出提示文件。
7.根据权利要求6所述的代码注释检测装置,其特征在于,所述预设的注释符号包括“/*”或“//”,
所述装置还包括第五单元,所述第五单元用于:
获取与所述预设的注释符号对应的注释信息。
8.根据权利要求6所述的代码注释检测装置,其特征在于,所述第三单元还用于:
获取所述注释符号对应的注释信息的字符数量,判断所述字符数量是否满足预设注释规则;
若所述字符数量小于预设阈值,则判定所述注释符号对应的注释信息不符合预设注释规则。
9.根据权利要求6所述的代码注释检测装置,其特征在于,所述第三单元还用于:
获取所述注释符号对应的注释信息的语言类型,判断所述语言类型是否满足预设语言规则;
若所述语言类型不满足预设语言规则,则判定所述注释符号对应的注释信息不符合预设注释规则。
10.根据权利要求6所述的代码注释检测装置,其特征在于,
所述代码注释检测工具包括NodeJS管理工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111160469.8A CN113867783A (zh) | 2021-09-30 | 2021-09-30 | 代码注释检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111160469.8A CN113867783A (zh) | 2021-09-30 | 2021-09-30 | 代码注释检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867783A true CN113867783A (zh) | 2021-12-31 |
Family
ID=79001113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111160469.8A Pending CN113867783A (zh) | 2021-09-30 | 2021-09-30 | 代码注释检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867783A (zh) |
-
2021
- 2021-09-30 CN CN202111160469.8A patent/CN113867783A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112396049A (zh) | 文本纠错方法、装置、计算机设备及存储介质 | |
CN108664471B (zh) | 文字识别纠错方法、装置、设备及计算机可读存储介质 | |
CN114757176A (zh) | 一种获取目标意图识别模型的方法以及意图识别方法 | |
CN110543637A (zh) | 一种中文分词方法及装置 | |
CN108763202A (zh) | 识别敏感文本的方法、装置、设备及可读存储介质 | |
CN111258905A (zh) | 缺陷定位方法、装置和电子设备及计算机可读存储介质 | |
CN109189372B (zh) | 保险产品的开发脚本生成方法及终端设备 | |
CN112464927B (zh) | 一种信息提取方法、装置及系统 | |
CN113434631A (zh) | 基于事件的情感分析方法、装置、计算机设备及存储介质 | |
CN117216279A (zh) | Pdf文件的文本提取方法、装置、设备及存储介质 | |
CN113867783A (zh) | 代码注释检测方法及装置 | |
CN113867707A (zh) | 文件夹命名方法及装置 | |
CN114818716A (zh) | 一种风险主体的识别方法、装置、存储介质及设备 | |
CN112699634B (zh) | 电子书的排版处理方法、电子设备及存储介质 | |
CN111444456B (zh) | 一种样式编辑方法、装置及电子设备 | |
CN113791860B (zh) | 一种信息转换方法、装置和存储介质 | |
CN114153429A (zh) | 网页页面调整方法及装置 | |
CN113722321A (zh) | 数据导出方法、装置和电子设备 | |
CN110515653B (zh) | 文档生成方法、装置、电子设备及计算机可读存储介质 | |
CN111401009B (zh) | 一种数字表情符识别转换方法、装置、服务器及存储介质 | |
CN110134775B (zh) | 问答数据生成方法及装置、存储介质 | |
CN113283233A (zh) | 文本纠错方法、装置、电子设备和存储介质 | |
CN112486479A (zh) | 一种数据采集方法及装置 | |
CN114153453A (zh) | 限制代码行数的方法及装置 | |
CN114153430A (zh) | 开发组件导入方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |