아이템 57. 지역변수의 범위를 최소화하라. - ksw6169/effective-java GitHub Wiki
- 지역변수의 범위를 최소화하면 코드 가독성과 유지보수성이 높아지고 오류 가능성은 낮아진다.
- 사용이 멀었는데 미리 선언부터 해두면 코드가 어수선해져 가독성이 떨어진다.
- 또한 변수를 실제로 사용하는 시점엔 타입과 초깃값이 기억나지 않을 수 있다.
- 초기화에 필요한 정보가 충분하지 않다면 충분해질 때까지 선언을 미뤄야 한다.
- for, for-each문은 반복 변수의 범위가 for 키워드와 몸체 사이의 괄호 안으로 제한되어 변수 범위를 최소화할 수 있다.
- 따라서 반복문의 값을 반복문이 종료된 뒤에도 써야 하는 상황이 아니라면 while문 보다는 for문을 쓰는 편이 낫다.
- 또한 변수 유효 범위가 for문 범위와 같아서 똑같은 이름의 변수를 여러 반복문에서 써도 영향을 주지 않는다.
for (Element e : c) {
...
}
반복자를 사용해야 하는 상황이라면 for-each문 대신 전통적인 for문을 쓰는 것이 낫다.
for (Iterator<Element> i = c.iterator(); i.hasNext();) {
Element e = i.next();
...
}
한 메소드에서 여러 가지 기능을 처리한다면 그중 한 기능에만 관련된 지역변수라도 다른 기능을 수행하는 코드에서 접근할 수 있을 것이다.
- Effective Java 3/E