天天看点

将局部变量的作用域最小化

    使一个局部变量的作用域最小化,最有力的技术是在第一次使用它的地方声明。避免在使用前很早就声明一个局部变量,这样扩大范围,造成误用。

    几乎每一个局部变量在声明的时候都应该包含一个初始化表达式。但有时这对try-catch不容易做到,如果try里面才要使用这个变量,而try-catch后,还要继续使用这个变量,那么只能讲这个变量声明在try-catch之前,并且没有合适的初始化。

    使用for循环比while容易避免变量的范围变大,后面误用。比如:

Iterator i = c.iterator();
                while (i.hasNext()){
                    doSomething(i.next());
                }

                Iterator i2 = c2.iterator();
                while (i.hasNext()){
                    doSomething(i2.next());
                }
           

     这样i都误用,导致无法遍历c2.

for(Iterator i = c.iterator(); i.hasNext(); ){
            doSomething(i.next());
        }
        
        //  Compile-time error - the symbol i cannot be resolved
        for(Iterator i2 = c2.iterator(); i.hasNext();){
            
        }
           

      利用for循环,可以将i 作用域限定在循环中,避免了误用