如何在Java代码中强制执行文档?

时间:2013-04-03 16:10:30

标签: java findbugs checkstyle pmd

有哪些选项可以强制执行代码?我想要一些将作为构建过程的一部分运行的东西,例如一个maven目标,它将检查代码是否已记录(类级别和方法级别),并报告是否缺少任何代码文档。

已经查看了FindBugs,PMD和CheckStyle,但它们似乎没有提供此功能。

4 个答案:

答案 0 :(得分:2)

好吧,我讨厌告诉你这个,但是无法使用工具强制执行有用的文档。

Checkstyle可以检查if Javadoc is present,但它无法检查Javadoc是否包含@param pMyParam the myParam以及其他无意义的垃圾。即使你让一些工具检查文档的内容,这也会产生大量的误报,并且会导致简单但有用的注释只是为了取悦检查工具。一段时间后,开发人员将学会在阅读代码时过滤掉Javadocs,就像我们在阅读网页时过滤掉广告一样。因此,如果开发人员不希望编写好的和有用的文档,那么所有工具都不会给你带来任何好处。

用Antoine de Saint-Exupéry的话来说:如果你想建造一艘船,不要把人们鼓起来收集木材,不要给他们分配任务和工作,而是教他们渴望无尽的大海。

我的建议是:使用checkstyle来检查基础知识,例如每个类至少有一个类型注释,并且接口也记录了它们的方法。然后,在必要时教育开发人员制作有意义且有用的文档,并明确在开发主管的眼中,高质量的代码具有高质量的文档。即使某些方法没有记录,Javadoc也可以非常好。然后,检查只能通过人工检查完成,例如,通过同行评审或质量控制过程中的某种形式化步骤。

只是我的两分钱。

答案 1 :(得分:1)

也许这不是您正在寻找的,但您可以使用Sonar并在编译代码时调用它。 声纳将提供包括checkstyle在内的大量信息

Sonar非常易于使用并与maven项目集成。

Doc:http://docs.sonarqube.org/display/SONAR/Installing+and+Configuring+Maven

答案 2 :(得分:1)

Teamscale可以检查是否缺少评论。它还可以评估评论的质量,并揭示琐碎和无关的评论。

免责声明:我是Teamscale开发人员。

答案 3 :(得分:0)

不久前,Sun发布了一个名为DocCheck的doclet。从javadoc创建报告。不知道它是否仍然可用..

进行谷歌搜索。

好的,谷歌搜索...适用于版本1.2,1.3和1.4。它的实验和似乎是不活跃的。现在值得使用吗?我不知道。这是你可以决定的。

javadoc doccheck下载http://192.9.162.55/j2se/javadoc/doccheck/index.html