Sun 的“Java 编程语言的代码约定”最后一次更新是在 1999 年 4 月。十年后,该语言以及一般使用模式发生了很多变化。是否有更多最新的、广泛采用的标准?
大多数指南都忽略指定文件编码和行结尾。 Sun 建议混合使用制表符和空格。 Eclipse IDE 默认采用 Eclipse 的标准,即只有选项卡。 Maven 风格指南 仅包含空格。许多样式指南,例如 JBoss,都遵循 Sun 的指南,但更喜欢 K&R 大括号而不是 OTBS。每个 Apache 项目都有自己的风格指南,每个项目之间都略有差异。
四个空格 - 这是上帝所使用的。
您真正需要遵循的唯一编码标准是项目团队接受的标准。您可能不同意使用制表符代替空格,但如果这是您团队的编码约定,您将尽力遵循它。
虽然它可能看起来过时,但核心语言本身并没有添加太多(尽管库已经添加了很多)
我现在能记得的是
enum
和泛型,其余的在文档第一次编写时就已经存在了。
始终使用 4 个空格。
不要使用 K&R 或 Allman:虽然它对于 C、C++ 和 C# 来说是完全可以接受的,但对于 Java 来说并不总是如此(除非项目明确决定使用它)。在 Java 中使用 K&R 或 Allman 在视觉上令人不愉快,因为在 C 中不使用它也是如此。
始终使用大括号,包括单行语句。
一般来说,尽量不要混合编程语言之间的风格。这就像自然语言中的口音发音一样,你可能听得懂,你可以用它读、写,并且有一定的语言水平,但发音不足只会让母语人士感到恼火。
问题不是问你的编码风格是什么,而是问现有的编码标准。
我找到了 欧洲航天局 Java 编码标准(pdf)(alt 链接),它似乎是最新且全面的,尽管我不确定采用的范围有多广。
Ray Ontko 有一个 Java 编码标准参考书目。但很难将任何单一标准确定为“广泛采用”。
考虑使用 IDE 重新格式化机制默认使用的那个。从长远来看,将为您节省大量时间。
我们在 Eclipse 中启用保存操作并勾选“格式化源”,以便源始终重新格式化。这意味着重新格式化只会更改自上次保存文件以来发生的事情。在源代码管理历史上很不错。
您自然可以花时间定义自己的格式,但使用 Eclipse 标准往往会更容易 - 这对我们来说没问题。
BSD/Allman 是唯一合适的缩进样式。它符合大括号的基本规则 - 如果它们位于不同的行,则它们应该位于同一列。与K&R相比,即使是Horstmann也可以忍受。
如果您在记事本中编码,请始终使用大括号。否则,由于 IDE 的自动缩进功能,它是无用且烦人的。