In un progetto recente, avevo bisogno di convertire da byte a kilobyte kibibyte . Il codice era abbastanza semplice:
var kBval = byteVal / 1024;
Dopo averlo scritto, ho ottenuto il resto della funzione working & spostato.
Ma più tardi, ho iniziato a chiedermi se avessi incorporato un numero magico all'interno del mio codice . Una parte di me dice che andava bene perché il numero è una costante fissa e dovrebbe essere prontamente compreso. Ma un'altra parte di me pensa che sarebbe stato super-chiaro se fosse avvolto in una costante definita come BYTES_PER_KBYTE
.
Quindi i numeri che sono costanti ben note sono davvero così magici o no?
Domande correlate:
Quando un numero è un numero magico? e Ogni numero nel codice è considerato "magico" numero "? - sono simili, ma sono domande molto più ampie di quello che sto chiedendo. La mia domanda si concentra su numeri costanti ben noti che non sono affrontati in quelle domande.
Eliminazione dei numeri magici: quando è il tempo per dire "No"? è anche correlato, ma è focalizzato sul refactoring, a differenza del fatto che un numero costante sia o meno un numero magico.