설명이 필요한 숫자는 상수로 선언하자.

미립·2022년 5월 6일
0

설명이 필요한 숫자는 상수로 선언하자.

코드 내부의 무작정 등장하는 숫자나 문자는 무엇을 의미하는지 명확하게 알기 어렵다.
이를 상수로 작성하면 이름을 가질 수 있고 그 이름을 통해 의미를 전달할 수 있다.

수정 전

public String howl() {
    if(this.type == 1) { // 1이 어떤 의미로 사용되었는지 파악하기 어렵다.
    	return "멍멍" 
    }   
}

수정 후

private static final int ANIMAL_TYPE_DOG = 1;

public String howl() {
    if(this.type == ANIMAL_TYPE_DOG) { // 강아지가 내는 소리라는 것을 명확하게 알수 있다.
    	return "멍멍" 
    }
}

🤔 0,1 과 같은 숫자도 분리하는게 좋을까?

배열이나 콜렉션의 반복문의 인덱스로 사용되는 경우는 오히려 상수로 분리하는 것이 가독성에 좋지 않다고 생각한다. 무조건 모든 숫자를 추출 하는 것이 아니라 숫자에 어떤 의미가 있는지 고민해보는 것이 좋을 것 같다.

참고

로버트 C. 마틴, 『클린코드』, 인사이트(2013), G25: 매직 숫자는 명명된 상수로 교체.

profile
software engineer

0개의 댓글