Site:  Cours VB.net  
2.20 Annexe 

Nommage des variables, objets et objets visuels.

 

A- Nommage des variables et Objets:

Notation hongroise:

La notation hongroise est une convention de nommage qui met en avant, par l'utilisation d'un préfixe, des informations sur l'objet nommé. 

La qualification de "hongroise" vient du pays d'origine de Simonyi, le créateur de ce nommage qui a travaillé chez Xerox puis Microsoft.

Il y a 2 sortes de notation hongroise:

Notation Apps:

On préfixe le nom des variables de manière a indiquer leur utilisation :

rwPosition : est une variable représentant  la position d'une ligne (rw=row en anglais)

Notation Systems:

Cette notation consiste à faire précéder le nom de la variable d'un préfixe reflétant son type. Ce préfixe est toujours écrit en minuscule puis la première lettre suivante en majuscule.

Par exemple, la variable booléenne 'ouvert' est préfixée par un b pour indiquer un booléen : 'bOuvert'.

 

On peut préfixer avec le type et  (ou) la portée.

Type:

i    Integer (entier)

n    Short int (entier court)

l    Long  (entier long)

f    float= Single (nombre a virgule flottante)

d    Double (float double)

c    Char (caractère)

by   Byte (caractère non signe)

b    Boolean (booleen true/false)

s    String (chaîne de caractères)

h    Handle 

file File (fichier) 

 

On peut aussi utiliser k pour les constantes.

 

et non utilisé en VB:

v void

w word (mot = double octet)

dw double word (double mot)

sz zero-terminated string (chaine de caracteres terminee par un char zero)

str string object (objet String)

pt   point 

rgb  rgb triplet 

 


Portée:

g : variable globale à une application
s : variable locale à un module.
p : variable passée en paramètre d’une fonction ou d’une méthode de classe.

 

Si une variable est un tableau, on ajoute le préfixe « a ».

 

Le nom de la variable commence par une majuscule.

 

Exemple:

Préfixe avec le type: variable nommée Ouvert de type boolean:

bOuvert.

 

Préfixe avec la portée, variable nommée Nom de portée globale:

gNom ou g_Nom

 

Variable nommée Position qui est une variable globale et une Integer.

g_iPosition

 

On voit qu'on peut utiliser ou non le caractère""_".

 

Cette notation hongroise a ses partisans et ses adversaires (nom trop complexe).

 

Choisir les noms de procédures et de variables avec soins:

On concatène plusieurs mots pour former un nom de fonction, de variable de Classe..

Il y a 3 manières  d'utiliser les lettres capitales dans ces mots (on appelle cela la capitalisation!)

-Pascal Case:La première lettre de chaque mot est en majuscule:

 CalculTotal()

-Camel Case:La première lettre de chaque mot est en majuscule, sauf la première:

 iNombrePatient

-UpperCase: Toutes les lettres sont en majuscule:

 MACONSTANTE

 

De plus le nom doit être explicite.

Microsoft propose quelques règles:

Sub , Fonctions

Utilisez la 'case Pascal' pour les noms de routine (la première lettre de chaque mot est une majuscule).

Exemple: CalculTotal()

Évitez d'employer des noms difficiles pouvant être interprétés de manière subjective, notamment Analyse() pour une routine par exemple. 

Utilisez les verbe/nom pour une routine : CalculTotal().

Variables

Pour les noms de variables, utilisez la 'case Camel' selon laquelle la première lettre des mots est une majuscule, sauf pour le premier mot.

Exemple: iNombrePatient

noter ici que la première lettre indique le type de la variable (Integer), elle peut aussi indiquer la portée(gTotal pour une variable globale).

Évitez d'employer des noms difficiles pouvant être interprétés de manière subjective, 'YYB8' ou 'flag' pour une variable. 

Ajoutez des méthodes de calcul ( Min, Max, Total) à la fin d'un nom de variable, si nécessaire.

Les noms de variable booléenne doivent contenir Is qui implique les valeurs  True/False, par exemple fileIsFound.

Évitez d'utiliser des termes tels que Flag lorsque vous nommez des variables d'état, qui différent des variables booléennes car elles acceptent plus de deux valeurs. Plutôt que documentFlag, utilisez un nom plus descriptif tel que documentFormatType.

Même pour une variable à courte durée de vie  utilisez un nom significatif. 

Utilisez des noms de variable d'une seule lettre, par exemple i ou j, pour les index de petite boucle uniquement.

Paramètre

Pour les noms de paramètres, utilisez la 'case Camel' selon laquelle la première lettre des mots est une majuscule, sauf pour le premier mot.

Exemple: typeName

Constantes

Utiliser les majuscules pour les constantes: MYCONSTANTE

N'utilisez pas des nombres ou des chaînes littérales telles que For i = 1 To 7. Utilisez plutôt des constantes  par exemple For i = 1 To DAYSINWEEK, pour simplifier la maintenance et la compréhension.

Objet, Classe

Pour les noms de Classe, utiliser le case Pascal:

Exemple Class MaClasse

Idem pour les évènement, espace de nom, méthodes:

Exemple: System.Drawing, ValueChange..

Dans les  objets, il ne faut pas inclure des noms de classe dans les noms de propriétés Patient.PatientNom est inutile, utiliser plutôt Patient.Nom.

Les interfaces commencent par un I

Exemple: IDisposable

Pour les variables privées ou protégées d'une classe utilisez le case Camel:

Exemple: lastValue (variable protégée)

En plus pour les variables privées d'une classe mettre un "_" avant:

Exemple: _privateField

Pour une variable Public d'une classe utiliser le 'case Pascale':

Exemple  TotalAge

Tables

Pour les tables, utilisez le singulier. Par exemple, utilisez table 'Patient' plutôt que 'Patients'.

N'incorporez pas le type de données dans le nom d'une colonne. 

Divers

Minimisez l'utilisation d'abréviations. 

Lorsque vous nommez des fonctions, insérez une description de la valeur retournée, notamment GetCurrentWindowDirectory().

Évitez de réutiliser des noms identiques pour divers éléments.

Évitez l'utilisation d'homonymes et des mots qui entraînent souvent des fautes d'orthographe.

Évitez d'utiliser des signes typographiques pour identifier des types de données, notamment $ pour les chaînes ou % pour les entiers.

Un nom doit indiquer la signification plutôt que la méthode.


B- Nommage des objets visuels:  

 

Il est conseillé de débuter le nom d’un objet avec représentation visuelle (les formulaires, boutons, listes, textbox..)par un mot évoquant sa nature:

 

Microsoft conseille:

btn pour les Boutons

lst pour les ListBox

chk pour les CheckBox

cbo pour les combos

dlg pour les DialogBox

frm pour les Form

lbl pour les labels

txt pour les Textbox

tb pour les Toolsbar

rb pour les radiobutton

mm pour les menus

tmr pour les timers

Exemple:

btnOk  par exemple pour un bouton sur lequel il y a 'Ok'.