작은 것 챙기기 - 상수화
· 약 2분
- 상수로 선언하지 않은
- 소스코드에 여러 번 등장하는
- 숫자, 문자열 자체로는 의미를 이해하기 어려운
숫자를 매직 넘버, 문자열을 매직 리터럴이라고 합니다.
요즘 <리팩터링>(마틴 파울러 저)이라는 책을 읽고 있는데 저자가 성능보다 더 강조하는 것은 바로 코드의 가독성이었습니다. 어떤 코드를 보고 책을 읽듯이 술술 읽힌다면 좋은 코드라는 것인데 그런 관점에서 보면 매직 넘버와 매직 리터럴은 코드의 가독성을 저해합니다.
예를 들어
function foo(mode) {
if(mode === 0) return '안녕하세요';
else if(mode === 1) return '안녕';
}
이 때, 위의 코드에서 0과 1이 무엇을 의미하는지 코드만 보고는 알 수가 없고, 이로인해 추후 유지보수가 어려워질 수 있습니다.