Huit bonnes habitudes de programmation VB
1. "&" remplace "+"
2. La dénomination des variables doit être sensible à la casse, les instructions doivent être bien organisées et la maintenance du code source doit être effectuée
3. Veuillez développer les bonnes habitudes suivantes en matière de « convention de dénomination des objets »
4. Dans le cas de conditions de sélection simples, utilisez la fonction IIf()
5. Essayez d'utiliser Debug.Print pour le débogage
6. Lorsque vous modifiez à plusieurs reprises les propriétés d'un objet, essayez d'utiliser With....EndWith
7. Essayez d'utiliser des icônes de message dans MsgBox afin que le programme soit plus standardisé.
8. Utilisez des énumérations lorsque cela est possible
1. "&" remplace "+"
Dans de nombreux langages de programmation, "+" est utilisé pour connecter des chaînes, ce qui peut facilement conduire à une ambiguïté. Une bonne pratique consiste à utiliser "&" pour concaténer des chaînes.
Incorrect:
DimsMessageAsString
sMessage="1"+"2"
correct:
DimsMessageAsString
sMessage="1"&"2"
Remarque : Il y a un espace après "&"
2. La dénomination des variables doit être sensible à la casse, les instructions doivent être bien organisées et la maintenance du code source doit être effectuée
Comparons les deux morceaux de code suivants :
Lire du code difficile :
DimSNAMEAsString
DimNTURNAsInteger
SiNTURN=0Alors
SiSNAME="vbeden"Alors
DoWhileNTURN<4
NTURN=NTURN+1
Boucle
FinSi
FinSi
Code facile à lire :
DimsNameAsString
DimnTurnAsInteger
SinTour=0Alors
IfsName="vbeden"Alors
FaireWhileTurn<4
nTour=nTour+1
Boucle
FinSi
FinSi
[retour à l'index]
3. Veuillez développer les bonnes habitudes suivantes en matière de « convention de dénomination des objets »
Préfixes de contrôle recommandés
Exemple de préfixe de type de contrôle
3DPanelpnlpnlGroup
ADODataadoadoBiblio
Bouton animéanianiMailBox
CheckboxchkchkReadOnly
Combobox,drop-downlistboxcbocboanglais
Bouton de commandecmdcmdQuitter
CommondialogdlgdlgFileOpen
CommunicationscomcomFax
Contrôle (utilisé dans les procédures lorsque le type spécifique est inconnu) ctrctrCurrent
DatadatdatBiblio
ComboboxdbcbodbcboLangage lié aux données
Data-boundgriddbgrddbgrdQueryResult
Data-boundlistboxdblstdblstJobType
DatacombodbcdbcAuteur
DatagriddgddgdTitres
DatalistdbldblPublisher
DatarepeaterdrpdrpEmplacement
DatepickerdtpdtpPublié
RépertoirelistboxdirdirSource
DrivelistboxdrvdrvTarget
FilelistboxfilfilSource
FlatscrollbarfsbfsbMove
FormulairefrmfrmEntry
FramefrafraLangue
GaugegaugauStatut
GraphgragraRevenue
GridgrdgrdTarifs
HiérarchiqueflexgridflexflexOrders
Barre de défilement horizontalehsbhsbVolume
ImageimgimgIcône
ImagecomboimgcboimgcboProduit
ImageListilsAllIcons
LabellbllblMessage d'aide
LégercheckboxlwchklwchkArchive
Lightweightcomboboxlwcbolwcboallemand
Bouton de commande légerlwcmdlwcmdSupprimer
LightweightframelwfralwfraSaveOptions
Barre de défilement horizontale légèrelwhsblwhsbVolume
Liste légèrelwlstlwlstCostCenters
Bouton d'option légerlwoptlwoptNiveau de revenu
LightweighttextboxlwtxtlwoptStreet
Barre de défilement verticale légèrelwvsblwvsbAnnée
LignelinlinVertical
ListboxlstlstPolicyCodes
ListViewlvwlvwEn-têtes
MAPImessagempmmpmSentMessage
MAPIsessionmpsmpsSession
MCImcimciVidéo
MenunumnuFichierOuvrir
Vue mensuellemvwmvwPériode
MSChartchchSalesbyRegion
MSFlexgridmsgmsgClients
MSAbmstmstFirst
OLEcontaineroleoleFeuille de travail
Bouton d'optionOptoptGenre
PictureboxpicpicVGA
PictureclipclpclpBarre d'outils
ProgressBarprgprgLoadFile
TitresRemoteDatardrd
RichTextBoxrtfrtfReport
FormeshpshpCercle
SlidersldsldScale
Pages Spinspnspn
StatutBarstastaDateTime
SysInfosyssysMonitor
TabStriptabtabOptions
TextboxtxttxtNom
TimertmrtmrAlarme
ToolbartlbtlbActions
TreeViewtretreOrganisation
UpDownupdupdDirection
Barre de défilement verticalevsbvsbTaux
-------------------------------------------------- ----------------------------------
Préfixes recommandés pour les objets d'accès aux données (DAO)
Utilisez les préfixes suivants pour indiquer les objets d'accès aux données
Exemple de préfixe d'objet de base de données
ContainerconconRapports
Base de donnéesdbdbComptes
DBEnginedbedbeJet
DocumentdocdocVentesRapport
FieldfldfldAdresse
GroupegrpgrpFinance
IndexixidxÂge
ParamètreprmprmJobCode
QueryDefqryqrySalesByRegion
RecordsetrecrecForecast
RelationrelrelEmployéDépartement
TableDeftbdtbdClients
UserusrusrNouveau
Espace de travailwspwspMine
-------------------------------------------------- ----------------------------------
Les applications utilisent fréquemment de nombreux contrôles de menu et il est utile de disposer d'un ensemble unique de conventions de dénomination pour ces contrôles. En plus de la balise "mnu" initiale, le préfixe du contrôle de menu doit être développé : un préfixe supplémentaire est ajouté pour chaque niveau d'imbrication, plaçant le titre final du menu à la fin de la chaîne de nom. Le tableau ci-dessous répertorie quelques exemples.
Préfixes de menu recommandés
Nom du gestionnaire de menu de la séquence de titres de menu
FichierOuvertmnuFichierOuvert
FichierEnvoyerEmailmnuFichierEnvoyerEmail
FichierEnvoyerFaxmnuFichierEnvoyerFax
FormatCharacternuFormatCharacter
AideContentsmnuHelpContents
Lorsque cette convention de dénomination est utilisée, tous les membres d'un groupe de menus spécifique sont répertoriés les uns après les autres dans la fenêtre Propriétés Visual Basic. De plus, les noms des contrôles de menu indiquent clairement les éléments de menu auxquels ils appartiennent.
Choisissez un préfixe pour les autres contrôles
Les contrôles non répertoriés ci-dessus doivent être standardisés avec un préfixe unique à deux ou trois caractères pour des raisons de cohérence. Utilisez des préfixes de plus de trois caractères uniquement lorsque des éclaircissements sont nécessaires.
Conventions de dénomination des constantes et des variables
En plus des objets, les constantes et les variables nécessitent également des conventions de dénomination bien formées. Cette section répertorie les conventions recommandées pour les constantes et les variables prises en charge par Visual Basic. et discute des problèmes d'identification des types et des plages de données.
Les variables doivent toujours être définies dans la portée la plus petite possible. Les variables globales (publiques) peuvent conduire à des structures d'état extrêmement complexes et rendre la logique d'une application très difficile à comprendre. Les variables globales rendent également la réutilisation et la maintenance du code plus difficiles.
Les variables dans Visual Basic peuvent avoir les étendues suivantes
position de la déclaration de portée position visible
« Privé » dans une procédure de niveau procédure, une sous-procédure ou une procédure de fonction dans la procédure dans laquelle il est déclaré
Formulaire « privé » dans la section de déclaration d'un formulaire au niveau du module ou d'un module de code (.frm, .bas) ou dans chaque procédure d'un module de code
Partout dans l'application 'Public' dans la section déclarations du module de code global (.bas)
Dans une application Visual Basic, utilisez des variables globales uniquement lorsqu'il n'existe aucun autre moyen pratique de partager des données entre des formulaires. Lorsque des variables globales doivent être utilisées, déclarez-les dans un seul module et regroupez-les par fonction. Donnez à ce module un nom significatif pour indiquer son rôle, tel que Public.bas.
Une bonne pratique de codage consiste à écrire un code aussi modulaire que possible. Par exemple, si votre application affiche une boîte de dialogue, placez tous les contrôles et le code nécessaires pour compléter la boîte de dialogue dans un seul formulaire. Cela permet d'organiser le code de l'application en composants utiles et de réduire sa surcharge d'exécution.
1 2Lire le texte intégral à la page suivante