ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Conventions de nommage ( typage des variables )   



L'auteur

eddymaue
Canada Canada
Membre Simple
# 0000000075
enregistré le 26/10/2004
Maue Eddy
j8j 8j8 Gatineau
de la société Formatek
Fiche personnelle


Note des membres
pas de note

Contributions > 01 - PRG : Programmation

Conventions de nommage ( typage des variables )
# 0000000957
ajouté le 06/09/2018 22:39:34 et modifié le 06/09/2018
consulté 11344 fois
Niveau débutant

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0


Télécharger le ZIP (6.73 Ko)
Description

Conventions de nommage ( typage des variables )


Cette contribution a pour objectif :

- d'accélérer le codage en rendant l'intellisence de Foxcode et de Isx.prg plus performant
- d'améliorer la lisibilité du Code
- d'uniformiser le typage pour aider au déboggage
- de renforcer l'utilisation de m.

un simple exemple :
la variable 'varUn' sans typage

varUn = 1
varUn = '1'
varUn = "un"

si vous exécutez ces trois lignes dans la fenetre commande
pas de probleme
pas d'erreur

Vfp corrige le Type qui renseigne la variable 'varUN'

La question qui se pose !
20 ligne de code plus bas dans votre programme, c'est quoi le type de données ?
qu'est-ce que va contenir la variable 'varUn' et quel sera sont type de donnée ?

c'est là que le typage des variables devient intéressant.

voilà ce à quoi ma contribution aide

Local liUn As Integer
liUn = 1 && un integer

Local lcUn As Character
lcUn = "1" && un caractere

Local LsUn As String
LsUn = 'Un' && une chaine

c'est gagnant pour vous et pour ceux à qui vous demandez de l'aide


avec l'utilisation de 'm.' la recherche est simplifié....
m.li affichera toute les variables li...
m.lc affichera toute les variables typées caracteres ....


bref simple clair et 20 lignes plus loin vous savez ce que contient la variable

voilà

Des articles intéressants au sujet des variables
comment ajouter et utiliser les nouvelles fonctionnalitées
dezipez "DeclareVariable.zip" et mettre les fichiers dans dans un répertoire de votre choix
exécutez DeclarVar_install.prg
https://www.youtube.com/edit?video_id=QIPcYsIu3jc&video_referrer=watch

Optimiser son Code Visual FoxPr
http://atoutfox.org/articles.asp?ACTION=FCONSULTER&Id=0000000446

Faut-il préfixer les variables par "m." ?
http://atoutfox.org/articles.asp?ACTION=FCONSULTER&Id=0000000116

Naming Conventions variables - Conventions de nommage
http://fox.wikis.com/wc.Dll?Wiki~NamingConventionsVariables


J'ajouterais

dans la définition d'une classe cela est aussi intéressant de préfixer
les attributs et les méthodes

à toute les atributs que j'ajoute, je préfixe avec 'p_' suivit du type
à toute les procedures personalisées je commencent par 'm_'

Procedure m_Maproc1
Endproc
Procedure m_Maproc2
Endproc

toute les attributs que j'ajoute à une classe commence comme ceci
'p_' suivit d'un type de donnée suivit du nom de la variable

ex:

p_iNbreRoue = 4 && attribut de la classe vehicule integer/
&& p_ pour propriété
&& i pour le type de donnée utilisé .... ici : integer
&& on a affaire à une classe véhicule
&& une voiture 4 roues
&& un BRP 3 roues
&& une moto 2 roues
&& un clouwn 1 roues

une voiture a 4 roue
un CAN-AM SPYDER de BRP a 3 roues
les deux sont des véhicules autorisés au Québec

toutes les attributs que J'ajoute à une classe commence par 'p_'

#Endif && commentaire-fin

* --------------------------------------------------------------------------------
* Explication par l'exemple -----------------------------------------------------
* --------------------------------------------------------------------------------

Define Class clssMaMinoune As clssVoiture && clssCustom

** attributs personels
p_cConstructeur = "Volvo" && p_c -- p pour propriété -- c pour caractere
p_cModele = "760"
p_iAnnee = 1990 && p_i -- p pour propriété -- i pour integer
p_cUtilisation = "familiale"

** les propriétés natives de la classe custom
#If .F.

Enable
Application
BaseClass
Class

ClassLibrary
Comment
ControlCount

Controls
Height
HelpContextID

Left
Name
Objects

Parent
ParentClass
Picture

Tag
Top
WhatsThisHelpID

Width

#Endif


* --------------------------------------------------------------------------------
* procedures personalisées -----------------------------------------------------
* --------------------------------------------------------------------------------

* /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ m_roule()
* / Eddy Maue a+ -- Créer le : 2018-09-04
Procedure m_roule()


Endproc && m_roule()


* /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ m_Tourne_a_gauche()
* / Eddy Maue a+ -- Créer le : 2018-09-04
Procedure m_Tourne_a_gauche()


Endproc && m_Tourne_a_gauche()

* /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ m_tourne_a_droite()
* / Eddy Maue a+ -- Créer le : 2018-09-04
Procedure m_tourne_a_droite()


Endproc && m_tourne_a_droite()


* /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ m_ignition()
* / Eddy Maue a+ -- Créer le : 2018-09-04
Procedure m_ignition()


Endproc && m_ignition()


* --------------------------------------------------------------------------------
* Evennement natif ---------------------------------------------------------------
* --------------------------------------------------------------------------------

#If .F.

Destroy
Error
Init

#Endif



* --------------------------------------------------------------------------------
* procedures natives de la classe Custom ----------------------------------------
* --------------------------------------------------------------------------------

#If .F. && procedures natives de la classe Custom

AddObject
AddProperty
Newobject

ReadExpression
ReadMethod
RemoveObject

ResetToDefault
SaveAsClass
ShowWhatsThis

WriteExpression
WriteMethod

#Endif


Enddefine

L'essayer c'est l'adopter ....

cela vous aides
en ajout m_ ou p_ car cela sépare des éléments natifs d'une classe à vos ajouts personels

cela nous aides à vous aider
lisibilité et compréhension

a+ eddy
Commentaires
Aucun commentaire enregistré ...

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3