Öppna Mike Prefix

Att understryka, eller inte understryka? Det här är Open Mike, en serie diskussionsposter för att kasta katten bland duvorna. Dessa inlägg handlar om dig - vi vill höra era åsikter, idéer och tankar. På grund av den populära efterfrågan innehåller denna Open Mike en omröstning som hjälper oss att analysera åsikter, så låt oss höra vad du måste säga om prefix.


Lägger du underkorsningar före variabler?

AS3-utvecklare använder ofta understreck som prefix för privata eller skyddade variabler i en klass:

 privat var _playerID: String;

Vissa kodare finner det här en användbar väg att berätta om varet är tillgängligt för andra klasser; andra förnekar det som värdelöst och fult. Vilken sida är du på?



Hur om metod Argument och gränssnitt? Vad annars?

Andra vanliga prefix är a_ för metodargument (eller p_ för parametrar) och jag för gränssnitt.

 allmän funktion takeDamage (a_damage: Number): void _damage- = a_damage; 
 paket public interface IPlayerCharacter function takeDamage (a_damage: Number): void; 

Prefixet "I för gränssnitt" är ganska vanligt, men argument prefix är sällsynta.



Alla andra du använder ofta? Låt oss veta i kommentarerna.


Ungerska Notation: Ja eller nej?

Om de inte gav fram starka åsikter har jag två ord för dig: Ungerska notation.

Nej, jag pratar inte om system ungerska, där datatypen för objektet är kodad till ett prefix av namnet:

 var intCounter: int = 0; var boolBestScore: Boolean = false; var nHeight: Number = 120; var btnOK: SimpleButton = ny knapp ();

Ingen använder fortfarande det, är de? Med en anständig IDE kan du enkelt informera datatypen för vilken variabel som helst. Det finns lite behov av att få den informationen i variabelns namn.

Jag pratar om Apps Hungarian, där ändamål av objektet kodas till ett prefix av namnet:

 var dHeight: Number = newHeight - oldHeight; // d för "skillnad" var cChildren: int; // c för "count" var degAngle: Number; // deg för "grader" var radAngle: Number; // rad för "radianer"

(Kolla in Joel Spolskys utmärkta artikel Gör fel kod, se fel för mer information om detta.)

Använder du någon form av ungerska notation, eller är det helt onödigt i ett OOP-språk som AS3?