왜 지역변수의 범위를 최소화해야 할까?
지역변수의 범위를 최소로 줄이면, 코드 가독성 및 유지보수성이 높아지고 오류 가능성은 낮아진다.
지역변수 범위를 줄이는 가장 강력한 기법은 "가장 처음 쓰일 때 선언하기"다. 만일 지역변수를 나중에 사용할 예정인데 미리 선언부터 해두면 가독성이 떨어진다. 실사용 시점에서 변수 정보가 기억나지 않을 수도 있다.
거의 모든 지역변수는 선언과 동시에 초기화하자.
*try-catch문은 예외 (: 초기화 자체가 예외 가능성이 있을 경우)
반복문에서의 추천 사항
반복문은 변수 범위를 한정해준다. for문 안에 쓴 변수는 for문 안으로 한정한다는 말이다.
반복문 내에서만 변수를 사용할 거라면, while문 말고 for문을 사용하는 것이 좋다.
(이전 while문에서 사용한 변수를 추후 재사용할 위험성이 있음 & for문이 가독성도 좋음)
for(Element e : c){
...
}
또한 Iterator(반복자)를 사용해야 한다면 for-each문 말고 전통적 for문을 사용하는 것이 좋다.
// 예시
for(Iterator<String> it = array.iterator(); it.hasNext(); ){
String s = it.next();
it.remove()
}
메서드 구현시 추천사항
메서드를 작게 유지하고 하나의 기능에만 집중하면, 지역변수 범위를 최소화할 수 있을 것이다.
반응형
'JAVA > Effective Java' 카테고리의 다른 글
[이펙티브 자바] 라이브러리를 익히고 사용하라 ─ 9장:일반적인 프로그래밍 원칙:Item59 (0) | 2023.10.19 |
---|---|
[이펙티브 자바] 전통적인 for문보다는 for-each문을 사용하라 ─ 9장:일반적인 프로그래밍 원칙:Item58 (1) | 2023.10.19 |
[이펙티브 자바] 옵셔널 반환은 신중히 하라 ─ 8장:메서드:Item55 (1) | 2023.10.18 |
[이펙티브 자바] null이 아닌, 빈 컬렉션이나 배열을 반환하라 ─ 8장:메서드:Item54 (0) | 2023.10.18 |
[이펙티브 자바] 가변인수는 신중히 사용하라 ─ 8장:메서드:Item53 (0) | 2023.10.18 |