在函数的开头或我使用它们的地方声明变量会更好吗?
在开头声明它们的优点是我可以很容易地看到局部变量的列表。但我在某处读到这会增加出错的可能性。
那么,还有什么更好的?
如果最好在开头声明它们,我应该总是用值初始化它们吗?
答案 0 :(得分:4)
由于方法应该很短,因此局部变量的数量相当小,我认为在使用它们之前更好地声明局部变量(不是所有的都在顶部)。
如果可能,应立即初始化它们以增强可读性。如果将它们声明为需要它们,则几乎总是使用有意义的值初始化,而不是null,0或“”。
答案 1 :(得分:2)
在某些情况下,编译器会强制您分配值Definite assignment analysis - Wikipedia, the free encyclopedia 。但是,在这种情况下,为什么初始化为0 - 只是将变量初始化为第一个赋值。
您不需要立即对其进行初始化,但您必须在使用之前对其进行初始化。
答案 2 :(得分:0)
就像Josh Bloch在他的“Effective Java”中解释的那样,你应该在你需要之前声明本地人 - 使代码更具可读性,可维护性并防止错误。
将locals声明为final是很好的做法,如果它们没有用于获取在其本地上下文中再次分配的新对象或原始值。