아이템 57. 지역변수의 범위를 최소화하라

wisdom·2022년 10월 13일
0

Effetctive Java

목록 보기
57/80
post-thumbnail

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

지역변수의 범위를 최소화할 수 있는 방법을 알아보자.


1. 가장 처음 쓰일 때 선언하기

지역변수의 범위를 줄이는 가장 강력한 기법이다.

사용하려면 멀었는데, 미리 선언부터 해두면 코드가 어수선해져 가독성이 떨어진다. 변수를 실제로 사용하는 시점엔 타입과 초깃값이 기억나지 않을 수도 있다.


2. 거의 모든 지역변수는 선언과 동시에 초기화하기

초기화에 필요한 정보가 충분하지 않다면 충분해질 때까지 선언을 미뤄야 한다.

예외 사항 (try-catch)

단, try-catch 문은 이 규칙에서 예외다.

변수를 초기화하는 표현식에서 검사 예외를 던질 가능성이 있다면 try 블록 안에서 초기화해야 한다. 한편, 변수 값을 try 블록 바깥에서도 사용해야 한다면 try 블록 앞에서 선언해야 한다.

반복문

반복문은 독특한 방식으로 변수 범위로 최소화해준다.

for 형태나 for-each 형태의 반복문에서는 반복 변수(loop variable)의 범위가 반복문의 몸체, 그리고 for 키워드와 몸체 사이의 괄호 안으로 제한된다.

따라서 반복변수의 값을 반복문이 종료된 뒤에도 써야 하는 상황이 아니라면 while 문보다는 for 문을 쓰는 편이 낫다.

for (int i = 0, n = expensiveComputation(); i < n; i++) {
	... // i로 무언가를 한다.
}

3. 메서드를 작게 유지하고 한 가지 기능에 집중하기

한 메서드에서 여러 가지 기능을 처리한다면 그중 한 기능과만 관련된 지역변수라도 다른 기능을 수행하는 코드에서 접근할 수 있을 것이다.

해결책을 단순히 메서드를 기능별로 쪼개는 것이다.

profile
백엔드 개발자

0개의 댓글