Quelles sont les conventions de nommage en C#?
Il ya quelques questions sur le présent, mais ils semblaient tous être en ciblant une partie spécifique de la langue;
- Quels sont les plus communs des conventions de nommage en C#? - Demander spécifiquement sur les getters/setters.
- C# des conventions de nommage pour les acronymes - Poser des questions plus spécifiquement sur court en majuscules suffixes.
Je suis débutant en C# avec un ami sur une entreprise de créer des jeux pour XBOX Live Arcade. J'ai développé un certain nombre de jeux à l'aide d'ActionScript 2 et 3 mais qui veulent commencer à explorer plus puissant des langues et des appareils.
Je veux m'assurer que je ne suis pas bête noire des personnes que je commence à travailler avec (si j'arrive à ça) ou même juste des gens ici, quand je lance en difficulté et se poser une question avec sérieux inquiétant /"incorrect" de nommage des méthodes, etc.
Je l'ai trouvé confus dans l'exemple de code que j'ai vu car il semble y avoir de mon point de vue actuel de quelques défauts. Je doute qu'un défaut de convention de nommage serait utilisé, donc je me rends compte que je suis juste avoir de la difficulté à comprendre.
Autant que je peux dire à ce jour, il y a de ces conventions:
public Type SomeMethod()
private Type SomeMethod()
- pas de souligner ou de quoi que ce soit?public static Type SomeMethod()
private static Type _SomeMethod()
- cette une seule semble juste bizarre..public Type someProperty
- commutation vers le haut de chameau boîtier pour les propriétés?public static Type SomeProperty
- et ensuite revenir à pascal le carter de statique..
En ActionScript 3, j'ai développé et strictement s'en tenir à ces conventions:
private var _someVar
public var someVar
private function _someMethod()
public function someMethod()
public static var SomeStaticVar
public static function SomeStaticMethod()
public const SOME_CONSTANT
Est-il une liste complète des conventions de nommage avec le raisonnement derrière chaque, de sorte que je peux obtenir ma tête autour d'eux? Le renversement de la syntaxe (c'est à dire public Type method()
au lieu de l'AS3 est public function method():Type
) est en me jetant assez en ce moment que je sais que j'ai besoin de garder un œil sur la façon dont je suis en nommant les choses, sinon, je vais oublier et de développer de mauvaises habitudes, je préfère l'ongle et éviter maintenant.
- Je ne pense pas qu'il y est une convention unique -- j'ai tendance à voir toutes sortes de différents styles utilisés par les différents codeurs. La chose la plus importante est d'être cohérent tout au long de votre code, je pense. Choisissez une convention et s'y tenir.
- Certaines des lignes directrices de Microsoft: msdn.microsoft.com/en-us/library/ms229045.aspx et quelques feuille de triche que je trouve utile: csharpguidelines.codeplex.com
Vous devez vous connecter pour publier un commentaire.
Il est le Tout-En-Un Code-Cadre De Normes De Codage à partir de Microsoft qui contient un ensemble complet de règles et de lignes directrices. (également disponible ici)
Les deux principales Capitalisations sont appelés camelCase et PascalCase.
Les règles de base (avec beaucoup de variations) sont
Et bien que la documentation stipule que "les Internes et les champs privés ne sont pas couverts par les directives" il y a quelques claire de conventions:
_
Microsoft's
convention de nommage.Il y a tout un tas de conventions de nommage préconisée par Microsoft pour .Net de programmation. Vous pouvez lire au sujet de ces ici.
En règle générale, l'utilisation PascalCase pour le bien public, la méthode et le type de nom.
Pour les paramètres et les variables locales, l'utilisation camelCase.
Pour les champs privés, choisissez l'une: certains l'utilisent camelCase, d'autres préfixe _camelCase avec un _.
Couramment vu la convention est également au nom des constantes avec ALLCAPS.
C# préfère PascalCasing pour les classes, propriétés et méthodes.
Autant que je peux dire à ce jour, il y a de ces conventions:
public Type SomeMethod()
<-- ouiprivate Type SomeMethod()
<-- correcte, pas de trait de soulignementpublic static Type SomeMethod()
<-- correcteprivate static Type _SomeMethod()
<-- ce qui semble étrange pour moi aussi. trait de soulignement ne devrait pas être làpublic Type someProperty
<-- non, un bien public doit être PascalCased (SomeProperty)public static Type SomeProperty
- et ensuite revenir à pascal le carter de statique..Si vous utilisez Visual Studio, ou XNA Game Studio (qui je pense est un fork de Visual Studio), je recommande fortement jaillissant pour un ReSharper licence (à partir de jetbrains logiciel). Ils vous diront, dans votre éditeur de code, comment faire pour se conformer à la commune de C# conventions.
Plus:
Vous devez utiliser camelCasing pour les champs privés et des arguments de méthode. Pour les champs privés, j'ai l'habitude de faire précéder leur _withAnUnderscore.