3.1.2. Les variables
Le nom d'une variable est composé selon la nomenclature suivante :
i_tVariableName
Le préfixe « i » désigne l’indicateur de portée.
g : variable locale à une application
s : variable locale à un module.
p : variable passée en paramètre d’une fonction ou d’une méthode de classe.
« t » représente l’indicateur de type de la variable. On utilisera les indicateurs de type définis en annexe (cf. § Annexe 1). Pour les types non répertoriés en annexe ou les types propriétaires, inventer un indicateur de type parlant ou bien supprimer l’indicateur de type (conserver les préfixes pointeurs et tableaux).
« VariableName » est le nom de la variable. Ce nom, écrit en anglais, doit permettre de déterminer ce que la variable représente. Il est composé d’un ou plusieurs mots en minuscule commençant par une majuscule.
Notes :
Les variables doivent obligatoirement être initialisées à une valeur par défaut lors de leur déclaration.
Les membres de classe doivent être obligatoirement initialisés dans tous les constructeurs de la classe.
Exemples : int i = 0 ;
char *pszText = NULL ;
bool bTest = false ;
Les variables locales
Les variables locales à une fonction ou une méthode de classe ne possèdent pas d’indicateur de portée. Certaines variables, tels les indices de boucle, ne sont pas soumis aux règles d’identification des variables.
Exemples : int i = 0 ;
char *pszText = NULL ;
Les pointeurs
Si une variable est un pointeur, on ajoute le préfixe « p » à l’indicateur de type de la variable.
Exemple : long *plValue = NULL ;
Les tableaux
Si une variable est un tableau, on ajoute le préfixe « a » à l’indicateur de type de la variable.
Exemple : long alValues[100];
Les constantes
Si une variable est constante, on ajoute le préfixe « k » à l’indicateur de type de la variable.
Exemple : const long klValue = 10;
Les membres de classe C++
Le nom d’un membre de classe C++ est préfixé par l’indicateur de portée « m ». Si le membre de classe est statique, l’indicateur de portée devient « s ».
Exemple : class CMyClass {
protected :
long m_lMember ; // membre de classe
long s_lCount ; // membre de classe statique
} ;
Eviter au maximum les membres de classe publics. Privilégier des membres privés ou protégés et définir des accesseurs associés.
Exemple : class CMyClass {
protected :
long m_lMember ; // membre de classe
long s_lCount ; // membre de classe statique
public :
long GetMember()
} ;
long CMyClass ::GetMember()
{
return m_lMember ;
}
Partager