Java单行变量声明



在我的Java类中,我声明的变量如下

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

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

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

我们应该遵循哪一个?

在一行中发生的事情越少越好。如果您选择第二个选项,代码将更容易调试(例如,您可以在第二次初始化发生的行上放置一个断点,跳过第一个断点),也更容易读取(IMHO)。唯一需要花费的就是一条线路。我认为这是值得的。

这只是品味和偏好的问题。然而,如果你不制定指导方针,它将成为大多数开发团队无休止辩论/争论的温床,就像Vim与Emacs或IntelliJ与Eclipse一样。

我建议为您的团队设置编码标准,最简单的方法是参考现有的标准,如Sun(现在的Oracle)Java Guidelines,在这种情况下,它建议每行使用一个声明。

以下是《太阳报》关于申报的权威指南[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

这是您的选择,但我在使用局部变量时经常使用第二个,对于全局变量,我使用以下方法来减少混乱:

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+个常数,并告诉我你更喜欢两者中的哪一个。。。

第二个变体可读性更强。想想那些会阅读你的代码

的人

Java最佳实践声明"每行一个声明"。

每行声明多个变量会降低代码的可读性,并导致程序员混淆。它还可能导致对变量类型及其初始值的混淆。特别是,不要在单个声明中声明以下任何内容:

1. Variables of different types
2. A mixture of initialized and uninitialized variables

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

最新更新