Numărul magic (programarea) este

Semnătura datelor

Acest termen are și alte semnificații, a se vedea Semnătura.

Programe de programare greșite

De asemenea, "numerele magice" se numesc practici de programare proaste, când apare o valoare numerică în textul sursă și nu este evident ce înseamnă. De exemplu, un astfel de fragment ar fi prost:

Acum este clar: această linie afișează sprite-ul din centrul ecranului - capul crucii. În majoritatea limbajelor de programare, toate valorile utilizate pentru astfel de constante vor fi calculate în etapa de compilare și vor fi înlocuite în locurile în care sunt folosite valorile. Prin urmare, o astfel de modificare a textului sursă nu afectează performanța programului.

Numerele magice și cross-platforma

Uneori, numerele magice dăunează codului cross-platform [1]. Adevărul este că în C în sistemele de operare pe 32 de biți și pe 64 de biți este garantată dimensiunea tipurilor de caractere. scurt și lung. în timp ce dimensiunea este int. mult timp. size_t și ptrdiff_t pot schimba (pentru primele două - în funcție de preferințele dezvoltatorilor de compilatoare, în ultimele două - în funcție de dimensiunea bitului sistemului țintă). În codul vechi sau necalificat, pot exista "numere magice", adică dimensiunea unui anumit tip - atunci când comutați la mașini cu cifre diferite, acestea pot duce la erori subtile.

Numerele care nu sunt magice

Nu toate numerele trebuie transferate în constante. De exemplu, codul de pe Delphi:

Semnificația numerelor 0 și 1 este de înțeles și nu este necesară o explicație suplimentară.

De asemenea, nu puteți face constante:

  • 0 drept fals și 1 adevărat (cu excepția cazului în care, desigur, limba are propriile constante false și adevărate);
  • Baza sistemului numeric este de 10 (baza sistemului zecimal), 60 (secunde într-un minut), 1000 (milisecunde pe secundă).

notițe

Articole similare