当前位置: 首页 > 专利查询>扬州大学专利>正文

一种面向对象程序的注释质量评价和注释建议方法技术

技术编号:10596684 阅读:196 留言:0更新日期:2014-10-30 09:27
本发明专利技术公开了软件工程领域内的一种面向对象程序的注释质量评价和注释建议方法,包括以下步骤:1)遍历目标代码文件,提取代码文件中主类的注释和其所注释的类名、方法的注释和其所注释的方法名,步骤2-1):根据关于主类注释的分析规则对主类文件中的注释部分与类名进行质量分析,并对不满足分析规则的注释给出相应的建议;步骤2-2):根据关于方法注释的分析规则对方法文件中的注释部分与方法名进行质量分析,并对不满足分析规则的注释给出相应的建议;步骤3):根据上述的建议的数量来给出整体的质量评价,本发明专利技术根据所计算的结果给出关于头注释和方法注释的建议,提高代码注释的质量,有利于对软件代码质量的完善,可用于软件的维护开发中。

【技术实现步骤摘要】
一种面向对象程序的注释质量评价和注释建议方法
本专利技术涉及一种软件评价方法,特别涉及一种软件注释质量评价及建议方法,属于软件工程领域。
技术介绍
在一个代码文件中,不仅仅有代码,而且还有注释。现在有研究表明,有注释的代码比没有注释的代码更容易理解。且注释是仅次于代码本身的有利于代码理解的第二有用文档。此外,源代码文件在软件维护是重要的,对于整个代码文件来说,查看在源代码文件中的注释对于开发人员对文档和代码的更新是一个比较方便的方法。而且开发人员都认为一个代码文件的质量严重影响了开发人员对这个软件的维护和演化,所以他们都认为代码文件质量很重要。而一个代码文件的质量不仅仅包括代码的质量,而且还包括代码中注释的质量,同时注释的质量不仅仅包括已有注释的质量,对没有注释却需要注释的也会影响代码文件的质量。对注释质量的评价在软件开发过程和维护过程中都有其作用。在开发过程中,管理人员可通过注释质量去评判各开发人员的代码质量和可理解性,注释质量好的代码能够有效辅助代码的可测试性和可维护性;在软件维护过程中,维护人员可通过注释质量来判断当前程序的易修改性,注释质量好的代码能够有效的帮助维护人员来修改维护这个程序。所以本专利技术通过对于已有注释和对没有注释却需要注释的两个方面分析来整体的分析这个代码文件注释的质量。已有的注释质量的分析往往都是对已有注释的分析,忽略了对没有注释却需要注释的分析,而且对于有注释,都是计算注释在这代码文件的比例,或者是代码注释的单词个数等等,而本专利技术是运用信息检索,对代码文件注释与被注释的代码的提取,通过预处理,然后计算其之间的相关性。对于没有注释的,提取每个代码文件的方法名,并在预处理的同时计算其方法的代码行数和调用其他函数的次数,通过分析3个条件来判断是否需要注释。本专利技术充分利用信息检索技术,通过检索代码和注释部分来计算其相关性,和其是否需要注释,来给出关于注释质量的评价,并给出注释的建议。
技术实现思路
本专利技术的目的是提供一种面向对象程序的注释质量评价和注释建议方法,根据所计算的结果给出关于头注释和方法注释的建议,提高代码注释的质量,有利于对软件代码质量的完善。本专利技术的目的是这样实现的:一种面向对象程序的注释质量评价和注释建议方法,包括以下步骤:步骤1)遍历目标代码文件,提取代码文件中主类的注释和其所注释的类名、方法的注释和其所注释的方法名,将主类的注释和其所注释的类名存入主类文件内,将方法的注释和其所注释的方法名存入方法文件内;步骤2-1):根据关于主类注释的分析规则对主类文件中的注释部分与类名进行质量分析,并对不满足分析规则的注释给出相应的建议;步骤2-2):根据关于方法注释的分析规则对方法文件中的注释部分与方法名进行质量分析,并对不满足分析规则的注释给出相应的建议;步骤3):根据上述的建议的数量来给出整体的质量评价。作为本专利技术的进一步限定,所述步骤2-1)的质量分析方法如下:a)遍历主类文件中的注释部分,检索该注释部分是否存在“author”,如果不存在,则给出添加作者的建议;b)查看该注释部分是否存在对主类的描述,如果不存在,则给出添加描述的建议,如果存在对主类的描述,则分析其相关性;c)分析相关性,利用公式L=N/M*100%计算出注释与主类的相关性,其中M表示对类名进行骆驼式命名法后分割出的单词总数,N表示注释中与类名相关的单词的个数,并将L与预先设定的门槛值比较,如果大于门槛值,说明相关性较高,如果低于门槛值,说明相关性较低,并且给出添加更多描述的建议。作为本专利技术的进一步限定,所述步骤2-2)的质量分析方法如下:a)遍历方法文件中的注释部分和方法名,统计有注释的方法名和没有注释的方法名,并利用公式X=Y/Z*100%计算有注释的方法名,Y表示有注释的方法的个数,Z表示方法文件中方法的总数,并将X与预先设定的门槛值比较,如果低于门槛值,给出添加更多注释的建议;b)对方法文件中有注释的方法名进行相关性分析,根据骆驼式命名法来分割出方法名中的单词,单词数记Q,再依次对分割出的单词来遍历文件中的注释,注释中含有的单词数记P,利用公式O=P/Q*100%,将O与预先设定的门槛值进行比较,如果低于所设门槛值,则给出添加更多注释的建议,如果高于所设门槛值,说明该段注释描述与该代码文件中的主类相关性较高;c)对方法文件中没有注释的方法名进行分析,利用wordnet工具分析方法名的词性组成;如果该方法名的词性的组成不是动词加名词或者不是名称加动词的话,说明该方法需要添加注释,给出添加注释的建议;如果是动词加名词或者是名称加动词则分析其代码行数,如果其代码行数大于所设门槛值,则需要添加一些注释来有利于代码的理解,给出添加注释的建议;如果代码行数小于门槛值,则分析其引用其他方法的次数,如果次数大于门槛值,则需要添加一些注释来有利于代码的理解,给出添加注释的建议,如果词数小于门槛值,则可以不加注释。作为本专利技术的进一步限定,所述步骤3)的质量评价方法如下:通过统计上述质量分析所给出的建议,然后计算出建议率,利用公式,其中,表示建议率,表示对主类注释建议的总数,括号内的3表示对主类的注释分析一共有三种,表示对有注释的方法建议总数,表示有注释的方法总数,表示没有注释的方法的建议总数,表示没有注释的方法总数,表示对主类注释建议占的比重,表示对有注释的方法建议占的比重,表示对没有注释的方法建议占得比重,将建议率与预先设定的门槛值进行比较,如果大于门槛值,说明该代码文件注释的质量不好,需要好好改进,建议开发人员根据建议修改注释,建议率小于0.5,说明该代码文件的质量较高;如果所有方法具有注释,即,则。与现有技术相比,本专利技术的有益效果在于,本专利技术方法是一种代码注释质量的评价和建议,通过对代码文件的头注释(即主类的注释)和方法注释进行质量的分析,根据所规定的分析规则,给出关于该注释质量的分析,如果质量较低,则给出相应的建议,此外,本专利技术对于没有注释的方法也进行了分析,对于需要注释但开发人员没有给注释的,通过分析,此段代码需要注释的,建议开发人员添加注释,最后,开发人员可根据建议修改自己的注释,从而提高代码注释的质量,有利于提高软件的质量。本专利技术可用于软件的维护开发中。附图说明图1是本专利技术的操作流程图。图2是本专利技术对Data.java文件的头注释分析流程图。图3是本专利技术中提取Data.java文件的头注释结果。图4是本专利技术对Data.java文件的头注释的分析结果。图5是本专利技术对Data.java文件的方法注释分析流程图。具体实施方式下面结合具体实施例对本专利技术做进一步描述。这里选用Data.java作为代码文件。如图1所示的一种面向对象程序的注释质量评价和注释建议方法,包括以下步骤:1)如图2所示,遍历Data.java文件,提取代码文件中的HeaderComments(即主类的注释)和其所注释的类名,注释如图3所示,然后以图3的格式保存在ProcessForHeaderComments文件中,对这个文件进行处理。1-1)检索ProcessForHeaderComments中是否存在@author(即是否存在作者),代码段Data.java中不存在@author,所以如图4所示给出建议:@Suggestion:本文档来自技高网
...
一种面向对象程序的注释质量评价和注释建议方法

【技术保护点】
一种面向对象程序的注释质量评价和注释建议方法,其特征在于,包括以下步骤:步骤1)遍历目标代码文件,提取代码文件中主类的注释和其所注释的类名、方法的注释和其所注释的方法名,将主类的注释和其所注释的类名存入主类文件内,将方法的注释和其所注释的方法名存入方法文件内;步骤2‑1):根据关于主类注释的分析规则对主类文件中的注释部分与类名进行质量分析,并对不满足分析规则的注释给出相应的建议;步骤2‑2):根据关于方法注释的分析规则对方法文件中的注释部分与方法名进行质量分析,并对不满足分析规则的注释给出相应的建议;步骤3):根据上述的建议的数量来给出整体的质量评价。

【技术特征摘要】
1.一种面向对象程序的注释质量评价和注释建议方法,其特征在于,包括以下步骤:步骤1)遍历目标代码文件,提取代码文件中主类的注释和其所注释的类名、方法的注释和其所注释的方法名,将主类的注释和其所注释的类名存入主类文件内,将方法的注释和其所注释的方法名存入方法文件内;步骤2-1):根据关于主类注释的分析规则对主类文件中的注释部分与类名进行质量分析,并对不满足分析规则的注释给出相应的建议,所述步骤2-1)的质量分析方法如下:a)遍历主类文件中的注释部分,检索该注释部分是否存在“作者”,如果不存在,则给出添加作者的建议;b)查看该注释部分是否存在对主类的描述,如果不存在,则给出添加描述的建议,如果存在对主类的描述,则分析其相关性;c)分析相关性,利用公式L=N/M*100%计算出注释与主类的相关性,其中M表示对类名进行骆驼式命名法后分割出的单词总数,N表示注释中与类名相关的单词的个数,并将L与预先设定的门槛值比较,如果大于门槛值,说明相关性较高,如果低于门槛值,说明相关性较低,并且给出添加更多描述的建议;步骤2-2):根据关于方法注释的分析规则对方法文件中的注释部分与方法名进行质量分析,并对不满足分析规则的注释给出相应的建议;步骤3):根据上述的建议的数量来给出整体的质量评价。2.根据权利要求1所述的一种面向对象程序的注释质量评价和注释建议方法,所述步骤2-2)的质量分析方法如下:a)遍历方法文件中的注释部分和方法名,统计有注释的方法名和没有注释的方法名,并利用公式X=Y/Z*100%计算有注释的方法名,Y表示有注释的方法的个数,Z表示方法文件中方法的总数,并将X与预先设定的门槛值比较,如果低于门槛值,给出添加更多注释的建议;b)对方法文件中有注释的方法...

【专利技术属性】
技术研发人员:孙小兵耿强李云朱俊武
申请(专利权)人:扬州大学
类型:发明
国别省市:江苏;32

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

1