PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Ou déclarer les variables
Ou déclarer les variables
Débuté par TheCout, 16 avr. 2021 11:04 - 10 réponses
Membre enregistré
93 messages
Popularité : +1 (1 vote)
Posté le 16 avril 2021 - 11:04
Bonjour,
Je lance un petit débat... Peut-être passera-t-il au niveau de la modération ?
J'ai pris l'habitude de déclarer mes variables au plus proche de leur utilisation, notamment à l'intérieur de boucle. Ainsi, elles ne sont pas visibles une fois sorties de la boucle. Exemple:
BOUCLE
...
sLigne est une chaîne = ...
FIN

sLigne n'est plus visible une fois sorti de la boucle. Ce qui peut éviter des erreurs je pense car on évite ainsi de réutiliser des variables "génériques" où, sur un code assez long, on ne sait plus trop comment elles sont utilisées car leur nom devient justement générique. ;)

Par contre, je me pose des questions car je me dis -- surtout en 14, désolé je dois toujours travailler sur cette version -- : est-ce qu'on ne perd pas (un peu) en perf car à chaque passage de la boucle une variable doit être détruite puis réinitialisée.

Quelles sont vos habitudes/pratiques ?
Membre enregistré
93 messages
Popularité : +1 (1 vote)
Posté le 16 avril 2021 - 11:09
Bon, à vrai dire ce ne change pas grand chose en terme de perf. Peut-être légèrement plus rapide en la déclarant en dehors:
i est un entier
ChronoDébut()
sV_chn_Test est une chaîne
BOUCLE
i++
sV_chn_Test = "Test" + i
SI i > 10000000 ALORS
SORTIR
FIN
FIN
ChronoFin()
Info(ChronoValeur())


Versus
i est un entier
ChronoDébut()
BOUCLE
i++
sV_chn_Test est une chaîne = "Test" + i
SI i > 10000000 ALORS
SORTIR
FIN
FIN
ChronoFin()
Info(ChronoValeur())
Membre enregistré
3 887 messages
Popularité : +227 (347 votes)
Posté le 16 avril 2021 - 12:09
Bonjour,
Pour des raisons de documentation, je déclare mes variable en "en-tête" de Procédure/Fonction

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
3 887 messages
Popularité : +227 (347 votes)
Posté le 16 avril 2021 - 12:10
Cela permet aussi de passer d'un langage à l'autre sans problème. Tous les langages n'acceptent pas la déclaration en milieu de code

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
283 messages
Popularité : +80 (92 votes)
Posté le 16 avril 2021 - 12:16
Perso je déclare mes variables au moment de la première manipulation

Au moins tu te casses pas la tête à te demander "Ah mais j'ai utilisé cette variable ou encore"

Izi


--
Maître de la POO
Membre enregistré
118 messages
Popularité : +3 (5 votes)
Posté le 16 avril 2021 - 18:42
moi c'est comme Voroltinquo je trouve cela beaucoup plus propre

--
Didier
+32 475 38 97 27

+++++
Lorsque je n'aurais plus de questions Windev n'aura plus de secret pour moi
Membre enregistré
337 messages
Popularité : +11 (13 votes)
Posté le 17 avril 2021 - 06:31
Vieux développeur, je suis méfiant des déclaration en cours de chemin, je préfère comme Voroltinquo les déclarer dans un bloc unique de déclaration en tête de procédure, avec une bonne documentation à la suite de la déclaration (sur la même ligne) pour retrouver le sens de la variable dans la fonction "rechercher".

Glo_I8_AnneeEnCours est un entier // L'année en cours de travail sur 4 digit (2021)


--
Développeur Indépendant en Free-lance. Contactez moi par MP ou mel pour avoir mes conditions d'engagements.
Membre enregistré
325 messages
Popularité : +8 (10 votes)
Posté le 18 avril 2021 - 13:33
Bonjour.

Cela dépend. Je me pose toujours la question : où et combien de fois dois je utiliser cette variable.
En fonction je la déclare en tête de procedure (reutilisation) ou en cours (utilisation unique).
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 18 avril 2021 - 18:36
Personnellement, je développe surtout sur mobile
Et j'ai remarqué que sur Android, si on ne déclare pas dès le début de code.
Cela engendre des variables considérées comme non connu.
Donc il est toujours préférable de faire comme voroltinquo
Membre enregistré
874 messages
Popularité : +39 (51 votes)
Posté le 19 avril 2021 - 08:35
@Ninja : Tableausupprimetout("Booba") :D:D

--
Christian - kick71
Membre enregistré
1 144 messages
Popularité : +50 (142 votes)
Posté le 19 avril 2021 - 08:47
Bonjour,
Je procède comme GB. Moins j'ai de variable globale et mieux je me porte, et j'associe les passages de paramètres par recopie et non par référence.

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formation bureautique : https://coursdinfo.net
Tuto WINDEV sur ma chaîne Youtube