Java一行变量声明?

时间:2013-11-21 09:51:14

标签: java

在我的Java类中,我正在声明像这样的变量

BigDecimal sumFeeBilled = new BigDecimal(0), sumPaid = new BigDecimal(0); 

或者我们必须在多行中声明这样的

BigDecimal sumFeeBilled = new BigDecimal(0);
BigDecimal  sumPaid = new BigDecimal(0);

我们应该遵循哪一个?

6 个答案:

答案 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]:

6.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

此外,您可以声明多个变量,并分配多个变量,但不能同时分配两个变量