gpt4 book ai didi

2019 年 Java 编码风格

转载 作者:行者123 更新时间:2023-12-01 06:01:49 24 4
gpt4 key购买 nike

我很想知道java当前的编码风格。我的团队强制将 {} 用于单行 if 语句。虽然我们曾经对一个衬垫使用大括号,但当前的 java 源代码不再对一个衬垫 if 语句使用大括号,我自己也倾向于这样做。

Python 完全去掉了大括号。

但是我没有看到 2019 年任何特定的风格指南。o​​racle 文档仍然引用 1997 年的编码风格。

什么是正确的编码,还是与开发人员的偏好更相关?

   foo();

if (condition)
doSomething();

bar();

对比

   foo();

if (condition) {
doSomething();
}

bar();

编辑 1:正如 Kartik 提到的,我们也可以编写这样的衬垫:

   if (condition) doSomething();

对我来说,这是开发人员的偏好,我对这两种方法都满意,但在我当前的团队中,一些开发人员认为不使用大括号是一种糟糕的编码实践。我看了java源代码,发现很多地方省略了大括号。所以,我不相信这是真的。至于谷歌编码风格,它也已经存在很多年了,并且许多人继续使用相同的风格。但是对于新代码有什么新的指导方针吗?

编辑 2:此问题被标记为基于意见并被搁置

我想澄清一下,我并不是在寻求意见。我更多地寻找 Oracle(或 java 开源社区)可能就今天(2019 年)的最佳实践提出的标准指南。大多数 java/google 实践都非常古老,可以追溯到 1996 年,今天可能不再适用。即使一些新书中有一些引用并且有些人可以分享这些细节,这也会非常有帮助

最佳答案

我认为最常用的 java 风格指南之一是来自 Google 的指南,请参阅 here .

它说:

Braces are used with if, else, for, do and while statements, even when the body is empty or contains only a single statement.

但这里真正的一般答案是:仅使用此类输入作为提示要做什么。对你来说:和你的同事坐下来,看看你喜欢什么,然后写下来,然后继续下去。就像:我们的团队决定使用谷歌风格,但在这里或那里对其进行微妙的改变。

然后确保您的工具支持您喜欢的风格。我们选择“google 风格”的原因之一是您可以获得 eclipse、IntelliJ 甚至 SlickEdit 的格式化模板。

我同意 Java8(和更新的)元素没有“突出的”样式指南,例如冗长的流语句。这就是“与你的团队一起决定你想要什么”再次出现的地方。例如,我们决定

stream()
.filter(...)
.whatver

每个行都有自己的行(原因之一是 IntelliJ 在编辑时会为您提供每行的返回类型,我发现这在处理流时非常有用)。

关于2019 年 Java 编码风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56320112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com