Kita semua tahu bahwa angka ajaib (nilai kode keras) dapat mendatangkan malapetaka dalam program Anda, terutama ketika saatnya untuk memodifikasi bagian kode yang tidak memiliki komentar, tetapi di mana Anda menggambar garis?
Misalnya, jika Anda memiliki fungsi yang menghitung jumlah detik antara dua hari, apakah Anda menggantinya
seconds = num_days * 24 * 60 * 60
dengan
seconds = num_days * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE
Pada titik apa Anda memutuskan bahwa itu benar-benar jelas apa artinya nilai yang dikodekan dan biarkan saja?
TimeSpan.FromDays(numDays).Seconds;
HOURS_PER_DAY will never need to be altered
), Anda tidak akan pernah mengkode perangkat lunak yang digunakan di Mars. : P
seconds = CALC_SECONDS(num_days);