Mike ouvert préfixes

Souligner ou ne pas souligner? Ceci est Open Mike, une série de messages de discussion pour jeter le chat parmi les pigeons. Ces messages parlent de vous - nous voulons connaître votre opinion, vos idées et vos réflexions. A la demande générale, cet Open Mike inclut un sondage pour nous aider à analyser un avis, écoutons ce que vous avez à dire sur préfixes.


Faites-vous mettre des caractères de soulignement avant les variables?

Les développeurs AS3 utilisent souvent les traits de soulignement comme préfixes pour les variables privées ou protégées d'une classe:

 private var _playerID: String;

Certains codeurs trouvent cela utile pour savoir en un coup d’œil si le var est disponible pour d’autres classes; d'autres le considèrent comme inutile et laid. De quel côté êtes-vous?



Qu'en est-il des arguments de méthode et des interfaces? Quoi d'autre?

Les autres préfixes communs sont a_ pour les arguments de méthode (ou p_ pour les paramètres) et I pour les interfaces..

 fonction publique takeDamage (a_damage: Number): void _damage- = a_damage; 
 package interface publique IPlayerCharacter function takeDamage (a_damage: Number): void; 

Le préfixe "I pour interface" est assez commun, mais les préfixes d'argument sont plus rares.



Vous utilisez souvent d'autres? Faites le nous savoir dans les commentaires.


Notation hongroise: oui ou non?

Si ceux-ci n'ont pas suscité d'opinions fortes, j'ai deux mots pour vous: la notation hongroise.

Non, je ne parle pas de Systems Hungarian, où le type de données de l'objet est codé dans un préfixe du nom:

 var intCounter: int = 0; var boolBestScore: Boolean = false; var nHauteur: Nombre = 120; var btnOK: SimpleButton = new Button ();

Personne ne l'utilise encore, n'est-ce pas? Avec un IDE décent, vous pouvez facilement identifier le type de données d’une variable; il y a peu de besoin d'avoir cette information au nom de la variable.

Je parle de Apps Hungarian, où le objectif de l'objet est codé dans un préfixe du nom:

 var dHeight: Number = newHeight - oldHeight; // d pour 'différence' var cChildren: int; // c pour 'count' var degAngle: Number; // deg pour 'degrés' var radAngle: Number; // rad pour 'radians'

(Consultez l'excellent article de Joel Spolsky intitulé Making Wrong Code (Rechercher un code erroné) pour plus d'informations à ce sujet.)

Utilisez-vous une forme quelconque de notation hongroise ou est-elle totalement inutile dans une langue POO telle que AS3??