gpt4 book ai didi

java - Eclipse Java 格式化程序。花括号之前换行,但之后没有

转载 作者:行者123 更新时间:2023-11-30 09:49:17 26 4
gpt4 key购买 nike

我们这里有一个非常奇怪的编码约定,我没有设法在 Eclipse 中正确设置 Java Formatter 来做我想做的事。公约说:

  • 在大括号“{”之前应该有一个新行

[更新]在我们的约定中没有规则说“{”之后是否应该换行。这些示例实际上使用了换行符(到目前为止我看到的几乎所有约定都说或暗示在“{”和“}”之后应该始终是换行符)。所以样本 1 和样本 2 都是“语法正确的”。[/更新]

由于这会破坏代码,我们的团队决定编写如下代码(不,这不是我的选择!):

public void methode(final boolean b)
{ if (b)
{ do.something();
}
else
{ do.somethingElse();
}
}

但在格式化程序中我只能得到这个:

public void methode(final boolean b)
{
if (b)
{
do.something();
}
else
{
do.somethingElse();
}
}

或者这个:

public void methode(final boolean b) { 
if (b) {
do.something();
}
else {
do.somethingElse();
}
}

有没有办法告诉格式化程序在“{”之前换行而不是之后换行?我知道第一种风格很糟糕,我很乐意使用后两种风格中的一种,但这是公司的决定。

最佳答案

所以,这里是关于这个主题的信息。我做了更多的研究。这里如此可恶的 Brace-Style(示例 1)有一个名称:The Horstman Brace Style或这里 Horstman .有一小组人捍卫它,因为它结合了 K&R 和 Allman(示例 2)样式的优点。由于牙套排成一行,因此没有“浪费”空间。

但这不是唯一真实的。这种风格对于VCS来说很惨。如果您需要在左大括号和第一条语句之间添加一行,您需要先断开该行,然后将新行放在那里。在 diff 或 merge 中,您将看到的不是“添加了一行”,而是“一行被两行交换了”。但是实际上旧的声明被你改变了。

所以另一种说法,不要使用这种风格。

关于java - Eclipse Java 格式化程序。花括号之前换行,但之后没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5884273/

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