java 编码风格 (Android),我应该在单独的行上声明变量吗?

java coding style (Android), should I declare variables on a separate line?

我一直在关注 Udacity 上的 Android Apps MOOC 简介,并且仅通过查看该课程中的示例代码就学到了很多关于良好编码实践的知识。然而,今天我发现了一个有点费解的事情:

// Third Step: Insert ContentValues into database and get a row ID back
    long locationRowId;
    locationRowId = db.insert(WeatherContract.LocationEntry.TABLE_NAME, null, testValues);

为什么 locationRowId 在单独的行中声明?将上面的代码更改为

似乎会更清晰
long locationRowId = db.insert(WeatherContract.LocationEntry.TABLE_NAME, null, testValues);

添加额外步骤是否有特殊原因?或者我可以安全地使用单行版本吗?

谢谢

是的,您可以安全地使用单行版本!如上所述,我认为这只是您的偏好。没有理由支持也没有反对这样做。但是选择一个选项并随后使用它并且不要在它们之间切换以获得干净的代码;-)

两者没有区别。 我在这里能想到的最佳做法是 - 不要在使用前声明局部变量。

如果在局部变量被要求之前声明它,会增加变量的范围,也可能增加出错的机会。

在某些情况下,您必须在使用变量之前对其进行声明。下面就是这样的一个例子。

String line = null;
while (( line = br.readLine()) != null) {
    buff.append(line);
}

这取决于您声明变量的位置,但没有必须遵循的硬性规定。

没关系,因为你在做这些相同的操作。两个表达式都正确,但第二个看起来更好。当然,这取决于您想要什么以及在哪里。如果您想使用其中的一些,请使用一个。不要混用

如果您要声明全局变量,请在不同的行中声明它。这意味着在不同的 methods.If 中使用相同的变量,您在方法内部使用变量,然后无需在不同的行中启动。