Généralement s'il existe une propriété qui obtient / définit une valeur pour l'état, j'utilise "est", comme: mais pour les propriétés qui obtient / définit les actions, ce qui est préférable à utiliser? Comme: p> dois-je utiliser: p> existe une meilleure alternative? P> P>
3 Réponses :
Je pense que castshadows code> fonctionnerait. AVIS
S CODE> Après
CAST CODE>. Il est parallèle avec
est code> dans lequel les deux commencent par des verbes singuliers (et
fait code> semble plutôt collant). P>
Une grande partie de la bibliothèque utilise quelque chose qui serait comme Par exemple, Uielement définit isinputMethodenabled et ishittestvisible . P>
La bonne chose à propos de ceci est que .isshadowcastingenabled code>. p>
isxxx code> indique clairement qu'il s'agit d'une propriété booléenne. P>
Hmmm, ne s'est pas rendu compte que. +1
Merci, maintenant je suis divisé. Je pourrais aller avec votre réponse alors. BTW quand vous avez dit une grande partie de la bibliothèque, vous voulez dire BCL ou WPF ou tout autre sur le net?
@Joan: Il y a quelques différences - en partie en fonction de l'âge de l'API. Par exemple, WCF laisse souvent le "is" éteint, mais utilise toujours le reste du concept de base ...
Ma préférence est d'utiliser "est" pour des propriétés en lecture seule; J'utiliserais probablement quelque chose comme "EnableShanes" comme une propriété. Il peut ne pas être immédiatement évident du nom qu'il s'agit d'une propriété plutôt que d'une méthode, mais lors de la lecture du code, cela devrait être évident et lorsque l'écriture de code Intellisense devrait indiquer que c'est une propriété. En outre, si l'on essaie d'utiliser EnableShadows comme méthode, le compilateur doit se plaindre. P>
Certaines propriétés se comportent comme des champs qui font que des choses qui se produisent lorsqu'elles sont écrites, mais lisez généralement la dernière chose écrite. D'autres reflètent un attribut de l'objet qui sera contrôlé par autre chose que d'écrire à la propriété. Avez-vous une convention de dénomination pour les distinguer?
Voulez-vous dire si quelque chose est calculé sur la mouche VS renvoyée par un champ de support VS Propriétés qui n'ont pas de champs de support (définis par le programmateur)? Dans ce cas, non, je n'utilise toujours pas de noms différents. J'ai des propriétés comme Vector3.Length Calculé à la volée.
J'ai tendance à voir des attributs en trois groupes: ceux qui changent principalement à la suite d'actions directes vers les propriétés elles-mêmes, et celles qui peuvent être modifiées par une action directe à leur égard, mais peuvent également changer de manière externe et les propriétés calculées. Pour le type ancien, j'aime les propriétés de lecture / écriture; Pour les deux derniers types, des propriétés en lecture seule ou des méthodes de getter (en fonction des travaux impliqués dans la récupération de la valeur), et pour le milieu, des méthodes de réglage. Il serait agréable de distinguer les types via la nommage, mais seulement dans le cas des booléens, une manière propre vient à l'esprit ("est")
@Joan Venge: (voir ci-dessus, plus ...) Je ne sais pas exactement quel critère définirait si je ressens une propriété devrait avoir un "est". Certaines choses "ressentent" comme elles devraient et certaines ne le font pas. Un facteur important serait probablement la nature du moment où la propriété est susceptible de changer. Si une propriété booléenne d'un objet est susceptible de changer spontanément à la suite d'actions à d'autres objets ou à d'autres événements du système, je serai plus enclin à vouloir «est» le nom (par exemple, une propriété «Isready» d'un Objet de communication pour indiquer qu'il est prêt pour le programme de donner des données informatiques).