gpt4 book ai didi

java - 这么长的一行代码,崩溃的标准是什么

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

Java 代码示例:

public String toString() {

return (title + '\n' + border + '\n' + getEmpID() + " "
+ getLastName() + " " + getFirstName() + " "
+ getHours() + " " + getRate() + " " + getGross() + border);}

如您所见,这是一个很长的 toString 覆盖。

将代码行分解为更小的部分的标准位置在哪里。之前 '+' '" "'之后?请帮助! :)

此外,如果您能向我展示如何正确放置 {},那就太好了。

最佳答案

这基本上取决于您本地的惯例。我个人会:

  • 删除整个表达式周围的();它们没有区别
  • 到处使用字符串文字而不是字 rune 字;避免意外地最终执行整数加法而不是串联
  • + 运算符之前换行,这清楚地表明下一行的开头实际上位于现有行的中间声明而不是新声明。 (这是一般约定,不限于这种情况。)
  • 无论是在空格之前还是在值之前进行换行,都要保持一致;你已经在这样做了。 (我认为哪种方式保持一致,甚至不同语句之间是否保持一致并不重要 - 但在单个方法中保持一致很好。)
  • 将右大括号移至下一行
  • 添加@Override注释

最终结果是:

@Override public String toString() {
return title + "\n" + border + "\n" + getEmpID() + " "
+ getLastName() + " " + getFirstName() + " "
+ getHours() + " " + getRate() + " " + getGross() + border;
}

您也可以考虑使用String.format而不是字符串连接 - 并且可能考虑每行只有一个值(和空格),导致代码更长但更容易更改,例如

@Override public String toString() {
return title + "\n"
+ border + "\n"
+ getEmpID() + " "
+ getLastName() + " "
+ getFirstName() + " "
+ getHours() + " "
+ getRate() + " "
+ getGross()
+ border;
}

值得注意的是,无论平台如何,您的 toString() 方法始终使用 \n 作为换行符。这是一个合理的决定,但您需要注意这一决定。就我个人而言,我通常不会在 toString 结果中包含换行符,但这由您决定。

关于java - 这么长的一行代码,崩溃的标准是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18692019/

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