是否有任何广泛的,现代的Java编码约定?

时间:2009-09-01 23:50:18

标签: java tabs coding-style

Sun的“Code Conventions for the Java Programming Language”最后更新于1999年4月。十年后,语言和一般使用模式发生了很大变化。是否有更新,广泛采用的标准?

大多数指南都忽略了指定文件编码和行结尾。 Sun建议使用混合标签和空格。 Eclipse IDE默认使用Eclipse的标准,它只是标签。 Maven style guide仅为空格。许多样式指南(例如JBoss)遵循Sun的指导原则,但更喜欢K& R大括号而不是OTBS。每个Apache项目都有自己的样式指南,每个项目之间略有不同。

9 个答案:

答案 0 :(得分:16)

四个空间 - 这是上帝使用的。

答案 1 :(得分:8)

您真正需要遵循的唯一编码标准是您的项目团队所接受的。您可能不同意制表符而不是空格,但如果这是您团队的编码惯例,则最好遵循它。

答案 2 :(得分:6)

虽然它可能看起来过时了,但核心语言本身并没有多少添加(虽然这些库已经有很多新增功能)

我现在记得的是enum和泛型,其余的在文档首次编写时已经存在。

  • 始终使用4个空格。

  • 不要使用K& R或Allman:虽然C,C ++和C#完全可以接受,但Java并不总是如此(除非项目明确决定使用它)。在Java中使用K& R或Allman在视觉上是不愉快的,因为它不会在C中使用它。

  • 始终使用大括号,包括单行语句。

一般来说,尽量不要在编程语言之间混合样式。这就像自然语言中的口音发音,您可能会被理解,您可以在其中阅读和书写,并且在语言中具有可行的水平,但缺乏发音只会惹恼母语人士。

答案 3 :(得分:3)

问题不在于您的编码风格,而在于现有的编码标准。

我发现 European Space Agency Java Coding Standards (pdf)(alt link)似乎是最新且全面的,但我不确定采用的范围有多广泛。

答案 4 :(得分:2)

Ray Ontko有一个Bibliography of Java Coding Standards。但是很难将任何单一标准确定为“广泛采用”。

答案 5 :(得分:1)

考虑使用IDE的重新格式化机制默认使用的那个。从长远来看,这将为您节省大量时间。

我们在Eclipse中启用保存操作并勾选Format Source,以便始终重新格式化源。这意味着重新格式化只会更改自上次保存文件以来发生的事情。在源代码管理历史中很好。

您可以自然地花时间并定义自己的格式,但使用Eclipse标准往往更容易 - 对我们来说没问题。

答案 6 :(得分:0)

答案 7 :(得分:0)

答案 8 :(得分:-2)

BSD / Allman是唯一体面的缩进风格。它符合大括号的基本规则 - 如果它们位于不同的行上,它们应该位于同一列上。与K& R相比,甚至Horstmann也是可以忍受的。

如果您在记事本中编码,请务必使用大括号。否则,由于IDE的自动缩进功能,它无用且烦人。