【问题标题】:Java coding styleJava 编码风格
【发布时间】:2010-04-28 09:19:00
【问题描述】:

您如何使自己的编码符合标准? C# 有 stylecopresharper。 Java中是否有任何用于代码分析的工具/eclipse插件?你用的是哪一个?

【问题讨论】:

    标签: c# java coding-style static-analysis


    【解决方案1】:

    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%。

    【讨论】:

    • PMD 已集成到 jDeveloper 中,您需要“激活”它吗?它默认工作吗? NM-我刚刚查看了pmd.sourceforge.net/integrations.html,看起来它需要安装然后激活。我以为它是内置的。
    【解决方案2】:

    CheckstyleFindBugsPMD。后两者不仅仅是样式工具。但通常需要付出一些努力,以便在团队成员之间达成一致,以及配置工具。

    【讨论】:

      【解决方案3】:

      除了上述之外,Jalopy 是一个很好的格式化代码的工具。

      【讨论】:

        【解决方案4】:

        你可以看看Sonar。这是一个开源项目,真正让 Checkstyle、PMD 和 Findbugs 的执行变得容易。

        【讨论】:

          【解决方案5】:

          我使用Checkstyle 来确保代码遵循一定的规则。 Checkstyle 也可以作为plugin for Eclipse. 使用

          【讨论】:

          • 链接无法检查并尝试在 Eclipse 中进行配置
          • 这两个链接都对我有用。如果在您的机器上安装插件有问题,那不是我的错。那么为什么要投反对票呢?
          【解决方案6】:

          有点自律有什么问题?如果你不能为像格式化这样微不足道的事情做到这一点,我对代码的其他质量方面不抱太大希望。

          【讨论】:

          • 您如何确定团队中的每个人都了解代码约定?
          • @folone,当@Tim Hawtin - tackline 通过 Checkstyle 运行他团队的代码时,毫无疑问,每次都是 100% 完美。我希望我可以对我的代码说同样的话。
          • 有一种开发理念,即人类永远不应该做计算机能做的事情。是的,在编写代码时,它 95% 的时间都遵守约定。我现在是花一个小时寻找最后的 5%,还是只使用像“jalopy”这样的工具或 eclipse 格式化程序来为我做这件事。我给你一个猜测。
          • 我的理念是,计算机及其愚蠢的软件可以让我摆脱困境。
          【解决方案7】:

          我们在我的公司使用Checkstyle,但仅用于 javadoc 检查。

          您可以配置不同的模块以包含要检查的内容以及在哪些级别(如受保护、公共、私有等),这很好。

          需要注意的是,对于 javadoc 检查,您需要明确声明一个方法是否允许throw 几个异常。之所以如此,是因为创建者认为让一个方法抛出多个异常是糟糕的设计(换句话说,他们试图控制设计,而不是相关的恕我直言)。

          【讨论】:

            【解决方案8】:

            拥有一份分发给团队/部门/组织中所有开发人员的编码标准文档是一个好的开始。

            【讨论】:

            • 我不确定,您如何确保每个人都阅读并记住它,即使是在每一个微小的变化之后。如果你想确保人们失去很多努力和动力。否则它将只是另一个没有人阅读的文档。
            • 必须强制使用它。如果你想有一个编码标准,你需要某种描述该标准的方式和一个确保每个人都遵守该标准的政策。一旦发布,您的编码标准也不应该对其进行很多小的更改。我发现最好的方法是就基本编码标准(例如可读性和清晰度)达成高水平的协议,并且不要太担心括号放置等细节。YMMV。显然,初级开发人员比经验丰富的开发人员需要更多的指导。
            【解决方案9】:

            eclipse 编译器警告和代码格式化程序为我们完成了这项工作。尽管我知道 checkstyle 对代码的实际设计进行了更多的语义检查,而不仅仅是合理地进行布局。

            【讨论】:

              猜你喜欢
              • 2019-10-12
              • 1970-01-01
              • 2016-03-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-10-18
              相关资源
              最近更新 更多