Item57. 지역변수의 범위를 최소화하라

  • 지역변수의 유효 범위를 최소로 줄이면 코드 가독성과 유지보수성이 높아지고 오류 가능성은 낮아진다.

지역변수의 유효범위를 최소화하는 방법

  • 지역변수의 범위를 줄이는 방법은 처음쓰일때 선언하는 것이다. 미리 선언해두면 블록 스코프가 끝났을떄도 살아있는 경우가 있다.
  • 지역변수는 선언과 동시에 초기화해야 한다. 초기화에 필요한 정보가 충분하지 않다면 충분할떄까지 선언을 미루어야 한다.
  • while문보다 for문을 사용하는게 낫다. for문을 사용할 경우 반복 변수의 범위가 반복문 블록 스코프로 제한된다.
1
2
3
4
5
6
7
8
//향상된 for문
for (Element e : c){
// 원소 e의 유효범위
}
//for문
for(Iterator<Element> i = c.iterator() ; i.haxNext(); ){
// 반복자 i 의 유효범위
}

반면 while문을 사용하는 경우 while문 외부까지도 반복자가 살아 있다. 따라서 변수를 잘못사용하여도 컴파일 오류가 나타나지 않는다.

1
2
3
4
5
Iterator<Element>  i =c.iterator();
while(i.hasNext()){
doSomethingWithIterator(i.next());
}
// i 지역변수 생존
  • method를 작게 유지하고, 한가지 기능만 하도록 구현하면 해당 기능에 관련된 지역변수만 사용됨으로, 지역변수도 최소화할 수 있다.

Comments