是在函数的开头声明变量还是在我使用它们的地方更好?
在开头声明它们的好处是我可以很容易地看到局部变量的列表。但我在某处读到这会增加出错的可能性。
那么,有什么更好的呢?
如果最好在开始时声明它们,我应该总是用一个值来初始化它们吗?
由于方法应该很短,因此局部变量的数量相当少,我认为最好在使用它们之前声明局部变量(不是所有的都在顶部)。
如果可能,它们应该立即初始化以增强可读性。如果在需要它们的地方声明它们,您几乎总是可以使用有意义的值进行初始化,而不是 null、0 或“”。
在某些情况下,编译器会强制您分配一个值定义赋值分析 - 维基百科,免费的百科全书。但是,在这种情况下,为什么要初始化为 0 - 只需将变量初始化为第一个赋值。
您不需要立即初始化它,但您必须在使用它之前对其进行初始化。
就像 Josh Bloch 在他的“Effective Java”中解释的那样,您应该只在需要之前声明本地变量 - 以使代码更具可读性、可维护性并防止错误。
如果不应该在本地上下文中再次获得新对象或原始值,则将本地变量声明为 final 也是一种好习惯。