lundi 31 mars 2008

Conventions de codage minimales

Dans cet article nous parcourons une gamme de convention de codage que nous pourrions utiliser pour éclaircir du code VB .Net


1.1. Connaître les conventions de codage minimales


Conventions de codage Visual Basic
Ces conventions sont utilisées par Microsoft pour développer des exemples et de la documentation. La spécification du langage Visual Basic ne définit aucune norme de codage.
Les conventions de codage donnent au code un aspect homogène, afin que les lecteurs puissent se concentrer sur le contenu et non pas sur la disposition.
Les conventions permettent aux lecteurs de comprendre le code plus rapidement, parce qu'ils peuvent faire des hypothèses selon leur expérience précédente.
Les conventions facilitent la copie, la modification et la gestion du code.
Les conventions décrivent les méthodes conseillées pour Visual Basic.
Les indications concernant l'attribution d'un nom sont décrites dans Instructions de conception pour le développement de bibliothèques de classes.
Vous ne devez pas modifier le nom des objets créés avec les outils du Concepteur de Visual Studio pour les rendre conformes aux indications.
Utilisez les qualifications d'espace de noms au lieu d'ajouter des instructions Imports. Si un espace de noms est importé par défaut dans un projet, vous ne devez pas qualifier pleinement le code parce qu'il s'exécutera de façon non qualifiée avec Intellisense lors du copier-coller. Lorsque vous coupez de longues lignes de code pour en simplifier la lecture, les noms qualifiés risquent d'être coupés après le "." Par exemple :
Dim collection As System.Diagnostics. _ InstanceDataCollectionCollection


1.1.1. Conventions de disposition
Une bonne disposition utilise la mise en forme pour souligner la structure du code et simplifier la lecture du code.
Utilisez la fonctionnalité Mise en forme automatique avec tabulation du code pour mettre le code en forme avec les paramètres par défaut (mise en retrait intelligente, mise en retrait de 4 caractères, enregistrement des onglets en tant qu'espaces). Pour plus d'informations, consultez Spécifique à VB, Basic, Éditeur de texte, boîte de dialogue Options.
Mettez une seule instruction par ligne. N'utilisez pas les deux-points (:).
Mettez une seule déclaration par ligne.
Mettez en retrait les lignes de continuation en utilisant un taquet de tabulation.
Laissez au moins une ligne vide entre les définitions de méthode et de propriété.

1.1.2. Conventions de commentaires
Ne mettez pas de commentaires à la fin d'une ligne de code, mais plutôt sur une ligne séparée.
Commencez le texte du commentaire par une lettre majuscule.
Ajoutez un point à la fin du commentaire.
Insérez un espace entre le délimiteur de commentaire (') et le texte de commentaire.
' Here is a comment.
Ne créez pas de blocs d'astérisques mis en forme autour des commentaires.

1.1.3. Structure du programme
Avec la méthode Main, utilisez la construction par défaut pour les nouvelles applications console et utilisez My pour les arguments de ligne de commande.
Sub Main() For Each argument As String In My.Application.CommandLineArgs ' Add code here to use the string variable. Next End Sub

1.1.4. Indications concernant le langage
String, type de données
Utilisez le signe & pour concaténer des chaînes :
MsgBox("hello" & vbCrLf & "goodbye")
Pour ajouter des chaînes dans des boucles, utilisez l'objet StringBuilder :
Dim longString As New System.Text.StringBuilder For count As Integer = 1 To 1000 longString.Append(count) Next
Type de données non signé

Utilisez Integer plutôt que des types non signés sauf si vous donnez plus d'importance à la mémoire.
Tableaux
Utilisez une syntaxe courte lorsque vous initialisez des tableaux sur la ligne de déclaration :
Dim letters() As String = {"a", "b", "c"}
Au lieu de :
Dim letters() As String = New String() {"a", "b", "c"}
Mettez l'indicateur de tableau sur la variable, pas sur le type :
Dim letters() As String = {"a", "b", "c"}
Au lieu de :
Dim letters As String() = {"a", "b", "c"}
Utilisez la syntaxe {} lorsque vous déclarez et initialisez des tableaux comportant des types de données de base :
Dim letters() As String = {"a", "b", "c"}
Au lieu de :
Dim letters(2) As String letters(0) = "a" letters(1) = "b" letters(2) = "c"
Utilisation du mot clé "With"
Lorsque vous êtes confronté à une série d'appels à un objet, utilisez le mot clé With.
Déclaration de variables de boucle dans l'instruction For ou For Each
Exemple :
For count As Integer = 0 To 2 MsgBox(names(count)) Next
Exemple :
For Each name As String In names MsgBox(name) Next
Utilisation des instructions Try...Catch
Utilisez toujours les instructions Try...Catch avec un objet qui implémente une méthode Dispose.
N'utilisez pas l'instruction On Error Goto.
Utilisation de l'instruction Using
Si vous utilisez une instruction Try...Catch et si le seul code dans le bloc Finally est un appel à Dispose, utilisez l'instruction Using à la place.
Mot clé IsNot
Utilisez le mot clé IsNot plutôt que Not ... Is Nothing.
Instances de formulaires par défaut
Utilisez Form1.ShowDialog plutôt que My.Forms.Form1.ShowDialog.
Mot clé New
Utilisez l'instanciation courte :
Dim employees As New Collection()
Au lieu de :
Dim employees As Collection = New Collection()
Utilisez le constructeur sans paramètre, puis définissez les propriétés à l'aide du mot clé With :
Dim orderLog As New EventLog() With orderLog .Log = "Application" .Source = "Application Name" .MachineName = "Machine Name" End With
Gestion des événements
Utilisez Handles plutôt que AddHandler :
Private Sub MenuItem1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MenuItem1.Click
Utilisez AddressOf et n'instanciez pas le délégué explicitement :
Dim closeItem As New MenuItem("Close", AddressOf MenuItem1_Click) Me.MainMenu1.MenuItems.Add(closeItem)
Lorsque vous définissez un événement, utilisez la syntaxe courte et laissez le compilateur définir le délégué :
Public Event WhatHappened(ByVal source As Object, _ ByVal e As WhatHappenedEventArgs)
Utilisation des membres partagés
Membres Shared appelés à l'aide du nom de classe, ne provenant pas d'une variable d'instance.
MsgBox, fonction
Utilisez MsgBox au lieu de MessageBox.Show ou Console.WriteLine.
Utilisation de l'espace de noms My
Utilisez les fonctionnalités My plutôt que la bibliothèque de classes .NET Framework ou la bibliothèque runtime Visual Basic.
Utilisation des membres de la bibliothèque runtime Visual Basic
Utilisez la bibliothèque runtime Visual Basic plutôt que la bibliothèque de classes .NET Framework.

Aucun commentaire: