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.
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?
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.
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??