Java变量似乎有两个可接受的变量声明放置,每个变量都有不同的存在理由.
根据Sun的代码约定,我们可以看到:
仅在块的开头放置声明.(块是由大括号"{"和"}"包围的任何代码.)不要等到第一次使用变量时才声明变量; 它可能会混淆粗心的程序员并妨碍范围内的代码可移植性.
然而,在备受好评的"代码完整"和其他一些作者提倡将变量范围缩小到最小.这基本上是等到第一次使用之前声明变量.
这两种方法显然是矛盾的,尽管我可以看到它们的两点.
我应该遵循哪个?对此事有何共识?
Dav*_*ton 14
变量应尽可能接近其使用声明,原因有两个:
垂直局部性使得更容易推理代码块.读者必须做的扫描越少,就越容易理解代码的作用,以及它的副作用
减少变量范围还可以为自动化工具提供更好的工具提示,例如重构.相关事物越紧密,它们就越明显.
这就是说:如果一个方法足够长以至于上述点可以发挥作用,那么该方法可能已经太长了,并且无论如何都应该重构.