우리는 마술 숫자 (하드 코딩 된 값)가 프로그램에서 혼란을 겪을 수 있다는 것을 알고 있습니다. 특히 주석이없는 코드 섹션을 수정할 때가 있지만 선을 어디에서 그리는가?
예를 들어, 이틀 사이의 시간 (초)을 계산하는 함수가 있다면
seconds = num_days * 24 * 60 * 60
와
seconds = num_days * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE
어떤 시점에서 하드 코딩 된 값이 의미하는 바를 완전히 명백하게 결정하고 혼자 내버려 두겠습니까?
TimeSpan.FromDays(numDays).Seconds;
HOURS_PER_DAY will never need to be altered
)를 사용하면 화성에 배포 된 소프트웨어를 코딩 할 수 없습니다. : P
seconds = CALC_SECONDS(num_days);