在我的Java类中,我正在声明像这样的变量
BigDecimal sumFeeBilled = new BigDecimal(0), sumPaid = new BigDecimal(0);
或者我们必须在多行中声明这样的
BigDecimal sumFeeBilled = new BigDecimal(0);
BigDecimal sumPaid = new BigDecimal(0);
我们应该遵循哪一个?
答案 0 :(得分:9)
单线上发生的事情越少越好。如果您选择第二个选项,代码将更容易调试(您可以在第二个初始化发生的行上放置一个断点,例如跳过第一个)并且更容易阅读(恕我直言)。这要花费你的唯一一件事是一条线。我认为这是值得的。
答案 1 :(得分:5)
这是你的选择,但我经常在使用局部变量时使用第二个,而对于全局变量,我使用以下内容来减少混乱:
public static final String CONSTANT_A = "constant a",
CONSTANT_B = "constant b",
CONSTANT_C = "constant c";
而不是
public static final String CONSTANT_A = "constant a";
public static final String CONSTANT_B = "constant b";
public static final String CONSTANT_C = "constant c";
通过这个例子, 并不重要,但想象有40多个常数并告诉我你更喜欢哪一个......
答案 2 :(得分:5)
这只是品味和偏好的问题。但是,如果你没有设定指南,它将成为大多数开发团队中无休止的争论/争论的温床,与Vim vs Emacs或IntelliJ vs Eclipse一起。
我建议为您的团队设置编码标准,最简单的方法是引用已存在的标准,例如Sun(现在的Oracle)Java指南,在这种情况下建议每行使用一个声明。
这是Sun的权威指南关于声明的说法[1]:
建议每行一个声明,因为它鼓励评论。换句话说,
int level; // indentation level
int size; // size of table
优先于
int level, size;
不要在同一条线上放置不同的类型。例如:
int foo, fooarray[]; //WRONG!
[1] http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141270.html#2991
答案 3 :(得分:4)
第二种变体更具可读性。想想那些会阅读你代码的人
答案 4 :(得分:2)
Java最佳实践声明“每行一个声明”。
答案 5 :(得分:1)
每行声明多个变量会降低代码的可读性并导致程序员混淆。它还可能导致对变量类型及其初始值的混淆。特别是,不要在单个声明中声明以下任何内容:
1. Variables of different types
2. A mixture of initialized and uninitialized variables
此外,您可以声明多个变量,并分配多个变量,但不能同时分配两个变量