【发布时间】:2010-04-28 09:19:00
【问题描述】:
【问题讨论】:
标签: c# java coding-style static-analysis
【问题讨论】:
标签: c# java coding-style static-analysis
Checkstyle 是一种开发工具,可帮助程序员编写符合编码标准的 Java 代码。它使检查 Java 代码的过程自动化,从而使人们免于执行这项无聊(但很重要)的任务。这使其成为想要强制执行编码标准的项目的理想选择。 Checkstyle 是高度可配置的,可以支持几乎任何编码标准。提供了支持 Sun 代码约定的示例配置文件。此外,还为其他众所周知的约定提供了其他示例配置文件。
PMD 与 JDeveloper、Eclipse、JEdit、JBuilder、BlueJ、CodeGuide、NetBeans/Sun Java Studio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant、Gel、JCreator 和 Emacs 集成。
FindBugs 使用静态分析来检查 Java 字节码是否出现错误模式。静态分析意味着 FindBugs 可以通过简单地检查程序代码来发现错误:不需要执行程序。这使得 FindBugs 非常易于使用:通常,您应该能够在下载后的几分钟内使用它来查找代码中的错误。 FindBugs 通过分析 Java 字节码(编译的类文件)来工作,因此您甚至不需要程序的源代码来使用它。由于其分析有时不精确,FindBugs 可能会报告错误警告,即不表示真正错误的警告。在实践中,FindBugs 报告的错误警告率低于 50%。
【讨论】:
Checkstyle 和 FindBugs 和 PMD。后两者不仅仅是样式工具。但通常需要付出一些努力,以便在团队成员之间达成一致,以及配置工具。
【讨论】:
除了上述之外,Jalopy 是一个很好的格式化代码的工具。
【讨论】:
你可以看看Sonar。这是一个开源项目,真正让 Checkstyle、PMD 和 Findbugs 的执行变得容易。
【讨论】:
我使用Checkstyle 来确保代码遵循一定的规则。 Checkstyle 也可以作为plugin for Eclipse. 使用
【讨论】:
有点自律有什么问题?如果你不能为像格式化这样微不足道的事情做到这一点,我对代码的其他质量方面不抱太大希望。
【讨论】:
我们在我的公司使用Checkstyle,但仅用于 javadoc 检查。
您可以配置不同的模块以包含要检查的内容以及在哪些级别(如受保护、公共、私有等),这很好。
需要注意的是,对于 javadoc 检查,您需要明确声明一个方法是否允许throw 几个异常。之所以如此,是因为创建者认为让一个方法抛出多个异常是糟糕的设计(换句话说,他们试图控制设计,而不是相关的恕我直言)。
【讨论】:
拥有一份分发给团队/部门/组织中所有开发人员的编码标准文档是一个好的开始。
【讨论】:
eclipse 编译器警告和代码格式化程序为我们完成了这项工作。尽管我知道 checkstyle 对代码的实际设计进行了更多的语义检查,而不仅仅是合理地进行布局。
【讨论】: