다음 소스 코드를 한번 보자.
public class Member {
private int mId = -1;
위 코드의 mId 값은 추리로 풀어야 하는 위험한 코드이다. -1은 대체 어떤의미인가? 또 다른 코드를 보자.
req.setAttribute("apply_result", -3);
위 코드의 -3은 무엇을 의미하는가?
이와 같이 임의의 숫자를 사용함으로써 소스 코드를 읽기 어렵게 만든다. 첫 번째 코드는 변수명을 좀 더 명확하게 지어야 하며, 변경되지 않는 값이라면 상수(static final)로 변환하는 것도 좋은 방법이다. 두 번째 코드의 -3도 상수로 빼는 것이 더 나은 코드가 될 수 있겠다.
하지만 항상 이 원칙을 따라야 하는 것은 아니다. 어떤 경우에는 숫자 값을 직접 사용하는 것이 소스 코드의 가독성을 위해 더 좋은 경우도 있다. 이와 관련한 사례들은 http://stackoverflow.com/questions/47882/what-is-a-magic-number-and-why-is-it-bad 문서를 보면 참고할 수 있다.
프로그래밍 구현에서 100% 정답이라고 확신할 수 있는 경우는 없다. 현재 소스 코드의 Context에서 어느 방법이 최선의 방법인지를 항상 고민하는 습관을 가지면 좋겠다.
0개의 의견 from FB
0개의 의견 from SLiPP
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.