Translate

lundi 6 avril 2015

Règles de nommage en C#

Quèsaco ?

Les règles de nommage déterminent le formatage des éléments constituants le code.

Ok et alors ?

Presque chaque langage informatique utilise ses propres règles de nommage. Il faut avant tout savoir qu'il n'y a pas une bonne ou mauvaise manière de nommer les éléments dans un programme informatique, ce dernier n'aura pas de problème à compiler et fonctionnera correctement peu importe qu'une classe ou qu'un paramètre soit écrit en majuscule ou minuscule. Cependant il est important de noter que pour faciliter la maintenance d'un programme il est préférable d'utiliser une norme dans l'équipe de développement pour nommer chacun des éléments constituant un programme (Classe, méthode, propriété, champs...). Et même si vous développez seul, utiliser une règle de nommage offrira de la cohérence au code !
En C# il est fréquent d'utiliser deux conventions de nommage :
Camel Case : La première lettre de l'identifiant commence par une minuscule et chaque mot concaténé commencera par une majuscule. (exemple : camelCase)
Pascal Case : La première lettre tout comme tous les mots concaténés commencerons en majuscule. (exemple : PascalCase)

Voici les règles conseillées par Microsoft et que la plupart des développeurs suivent :

IdentifierCaseExample
ClassPascalAppDomain
Enum typePascalErrorLevel
Enum valuesPascalFatalError
EventPascalValueChange
Exception classPascalWebException
Note   Always ends with the suffix Exception.
Read-only Static fieldPascalRedValue
InterfacePascalIDisposable
Note   Always begins with the prefix I.
MethodPascalToString
NamespacePascalSystem.Drawing
ParameterCameltypeName
PropertyPascalBackColor
Protected instance fieldCamelredValue
Note   Rarely used. A property is preferable to using a protected instance field.
Public instance fieldPascalRedValue
Note   Rarely used. A property is preferable to using a public instance field.

Pour plus d'informations n'hésitez pas à consulter le site MSDN Microsoft.

Un petit exemple simple :

namespace World.Humain
{
   public enum Gender
   {
              Female,
              Male 
    }
   class Person : IPerson
   {
      private string name;
      private int age;
      public int Age { get { return age; } private set { age = value; } }
      public string Name { get { return name; } private set { name = value; } }
      public Gender Gender { get; private set; }
      public Person(string name, int age, Gender gender)
      {
                     Age = age;
                     Name = name;
                     Gender = gender;
       }
    }
}

Aucun commentaire:

Enregistrer un commentaire