Pentru a sublinia sau a nu sublinia? Acesta este Open Mike, o serie de posturi de discuție pentru a arunca pisica printre porumbei. Aceste postări se referă la dvs. - vrem să vă auzim opiniile, ideile și gândurile. Datorită cererii populare, acest Open Mike include un sondaj care ne ajută să analizăm opinia, așa că să auzim ce aveți de spus despre prefixe.
Dezvoltatorii AS3 utilizează de multe ori subliniere ca prefixe pentru variabile private sau protejate într-o clasă:
privat var _playerID: String;
Unii coderi consideră că este o modalitate utilă de a spune dintr-o privire dacă var este disponibil pentru alte clase; alții o deranjează ca fiind inutile și urâte. De partea cui ești tu?
Alte prefixe comune sunt a_ pentru argumentele metodelor (sau p_ pentru parametri), și I pentru interfețe.
funcția publică takeDamage (a_damage: Number): void _damage- = a_damage;
pachet interfață publică IPlayerCharacter funcție takeDamage (a_damage: Number): void;
Prefixul "I pentru interfață" este destul de comun, dar prefixele de argument sunt mai rare.
Orice altceva folosiți de multe ori? Spuneți-ne în comentariile.
Dacă aceștia nu au prezentat opinii puternice, am două cuvinte pentru dvs.: notația maghiară.
Nu, nu vorbesc despre sistemele maghiară, unde tipul de date al obiectului este codificat într-un prefix al numelui:
var intCounter: int = 0; var boolBestScore: Boolean = fals; var nHeight: Number = 120; var btnOK: SimpleButton = butonul nou ();
Nimeni nu mai folosește asta, nu-i așa? Cu un IDE decent poți să spui cu ușurință tipul de date al oricărei variabile; nu este nevoie să aveți aceste informații în numele variabilei.
Vorbesc despre Apps maghiară, unde scop al obiectului este codificat într-un prefix al numelui:
var dHeight: Number = newHeight - oldHeight; // d pentru "diferența" var cChildren: int; // c pentru 'count' var degAngle: Number; // deg pentru 'grade' var radAngle: număr; // rad pentru 'radiani'
(Verificați articolul excelent al lui Joel Spolsky despre Codul greșit care arata greșit pentru mai multe informații despre acest lucru.)
Utilizați orice formă de notație maghiară sau este complet inutil într-un limbaj OOP, cum ar fi AS3?