요약
•
지역 변수는 가장 처음 사용되는 곳에 선언하고, 선언과 동시에 초기화 하자.
•
메서드를 한 가지 기능에 집중하여 작게 유지하자.
지역변수 범위 최소화 하기
•
지역변수의 범위를 최소화하는 것은 기본적으로 이전의 클래스와 멤버의 접근 권한을 최소화하라와 취지가 비슷하다. 지역변수의 유효 범위를 줄이면 가독성과 유지보수성이 좋아지고 오류 가능성이 낮아진다.
•
지역변수의 범위를 줄이는 가장 강력한 방법은 가장 처음 쓰일 때 선언하기이다. 지역변수의 범위는 선언된 지점부터 그 지점을 포함한 블록이 끝날 때까지이므로, 해당 블록이 끝나면 자동으로 사라지게 된다.
•
거의 모든 지역변수는 선언과 동시에 초기화해야 한다. 초기화에 필요한 정보가 부족하다면 선언을 뒤로 미루어, 초기화가 이루어질 때 선언하자.
•
다만 try-catch문과 같이 try 내부에서 사용되는 변수들이 해당 블록이 끝난 이후에도 필요하다면, try 블록 앞에서 선언을 해야한다.
•
반복문에서의 초기화는 반복 변수(loop variable)의 범위가 반복문의 몸체와 for 키워드 몸체 사이의 괄호 안으로 제한된다.
for (Element e : c) {
... // e로 무언가 하기
}
for (Iterator<Element> i = c.iterator(); i.hasNext(); ) {
Element = i.next();
... // e와 i로 무언가 하기
}
Java
복사
•
반면 while문에는 while문의 앞에서 변수를 선언하기 때문에 while 문이 끝나더라도 해당 지역변수의 유효범위가 끝나지 않아 오류가 발생할 수 있다.
•
제역변수 범위를 최소화하기 위해 메서드를 작게 유지하고 한가지 기능에 집중하자. 하나의 메서드에서 여러 기능을 처리한다면 한 기능과 관련된 지역변수가 다른 기능을 수행하는 코드에서 접근할 수 있기 때문이다.