将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。
较早的程序设计语言(如C)要求局部变量必须在一个代码块的开头处进行声明,这个习惯在Java中应该改正。
1.要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明。
2.几乎每个局部变量的声明都应该包含一个初始化表达式。
public void example1(){
List<string> list =new ArrayList<string>();
for (String e: list) {
e.toString();
}
List<string> list2 =new ArrayList<string>();
for (String e: list2) {
e.toString();
}
}
public void example2(){
List<string> list =new ArrayList<string>();
while (list.iterator().hasNext()) {
list.iterator().next();
}
List<string> list2 =new ArrayList<string>();
while(list.iterator().hasNext()){//Bug
list2.iterator().next();
}
}
</string></string></string></string></string></string></string></string>
example2方法的第二个循环存在一个“剪切-粘贴”错误,原本是要对list2进行循环,却错误的使用了list,而且代码能够通过编译,运行还不抛出异常。