아이템 57. 지역변수의 범위를 최소화하라 지역변수의 유효 범위를 최소로 줄이면 가독성과 유지보수성이 높아지고 오류 가능성은 낮아진다. 가장 좋은 방법 : 제일 처음 쓰일 때 선언하기 미리 선언부터 해두면 어수선해지고 코드 가독성이 떨어진다 거의 모든 지역변수는 선언과 동시에 초기화해야 한다. 초기화 정보가 부족하다면, 충분해질 때까지 선언을 미뤄야 한다. try-catch는 예외적으로 바깥 블록에 선언할 수 있다. (블록 밖에서도 필요한 경우) 반복 변수를 반복문이 종료된 뒤에도 사용하는 상황이 아니라면 While 문보다 for 문이 낫다. for (Element e : c) { ... } 반복자를 사용해야 하는 상황에서는 for-each보다 for 문이 낫다. for (Iterator<Element> i = c.iterator(); i.hasNext()) { Element e = i.next(); ... } for 문의 반복자는 반복문과 유효 범위가 같다. 지역 변수 범위를 최소화하는 반복문 관용구 예시 for (int i = 0, n = expensiveComputation(); i < n; i.hasNext()) { ... } 마지막 방법은 메서드를 작게 유지하고 한가지 기능에 집중하는 것이다. 메서드를 기능별로 쪼개 지역변수 범위를 최소화할 수 있다.