Avoir un code propre, un code lisible, un code qui, malgré des centaines de lignes, reste simple à comprendre et à modifier n’est pas aisé. Toutefois de nombreuses petites règles peuvent permettre de mieux s’y retrouver.
Depuis que je programme, je n’ai jamais eu de véritables règles. Travaillant souvent seul sur les projets, la lisibilité du code n’était pas forcément une priorité ni un souci.
Depuis quelques semaines, j’ai la chance d’intégrer un grande groupe ou la lisibilité du code source d’un programme est crucial pour le travail en équipe. Ainsi j’ai pu me apprendre quelques techniques intéressantes pour écrire un code propre et compréhensible par tous.
Méthodes
- Les méthodes commencent par une majuscules …
- …et doivent avoir un verbe qui permet de la comprendre rapidement.
public SaveMethod()
Variables
- Une variable membre d’une classe commence par un “m” (Comme Membre)
public classMyClass
{
private mMyMemberVar;
}
- Une propriété, commence par une majuscule et conserve le nom du membre.
public class MyClass
{
private string mMyMemberVar;
public stringMyMemberVar
{
get
{
return mMyMemberVar;
}
set
{
mMyMemberVar = value
}
}
}
- Une constante s’écrit en majuscule et les espace sont des underscore.
readonly string MY_CONST;
- Une variable en paramètre d’une méthode prendre un “p” (Comme Paramètre).
protected void SaveMethod(string pMyText)
- Une variable déclaré dans une méthode prend un “v” (Comme Variable).
protected void SaveMethod(string pMyText)
{
string vMyVar = pMyText;
}
Commentaires
- Une classe doit avoir un commentaire qui décrit brièvement sont utilité.
- Chaque méthode, chaque constructeur doit avoir un commentaire qui décrit sont fonctionnement et en particulier les points important et/ou complexes.
/// <summary>
/// Sauvegarde un texte dans une variable locale.
/// </summary>
/// <param name=”pMyText”>Le texte ? sauvegarder</param>
protected void SaveMethod(string pMyText)
{
string vMyVar = pMyText;
}
Mise en forme du code
- Utiliser les régions pour compartimenter les Méthodes, Propriétés, Evénements, …
- Indenter son code source
using System;
/// <summary>
/// Description résumée de Class1
/// </summary>
public class ClassTest
{
#region Membres
private int mPrivateMember;
#endregion
#region Propriétés
/// <summary>
/// Commentaire pour PrivateMember
/// </summary>
public int PrivateMember
{
get
{
return mPrivateMember;
}
set
{
mPrivateMember = value;
}
}
#endregion
#region Constructeurs
/// <summary>
/// Commentaire pour Constructeur
/// </summary>
public ClassTest()
{
}
#endregion
#region Evenements
#endregion
#region Méthodes
/// <summary>
/// Commentaire pour MyMethod
/// </summary>
private void MyMethod()
{
}
#endregion
}
Et vous, quelles sont vos règles d’écriture ?

