Tất cả chúng ta đều biết rằng các số ma thuật (giá trị được mã hóa cứng) có thể tàn phá chương trình của bạn, đặc biệt là khi đến lúc sửa đổi một phần mã không có nhận xét, nhưng bạn vẽ đường này ở đâu?
Chẳng hạn, nếu bạn có một hàm tính số giây giữa hai ngày, bạn có thay thế không
seconds = num_days * 24 * 60 * 60
với
seconds = num_days * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE
Tại thời điểm nào bạn quyết định rằng nó hoàn toàn rõ ràng giá trị mã hóa cứng có nghĩa là gì và để nó một mình?
TimeSpan.FromDays(numDays).Seconds;
HOURS_PER_DAY will never need to be altered
), bạn sẽ không bao giờ được mã hóa cho phần mềm được triển khai trên Sao Hỏa. : P
seconds = CALC_SECONDS(num_days);