Fonction / Sub et passage de param

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Fonction / Sub et passage de param

Messagepar Ahamay » 14 Déc 2009 à 17:45

Bsoir,

j'vais faire simple et bref : Quand on passe des parametres lors d'un appel de fonction ou procédure : si le nom du param est = au nom de la viariable qu'il contient, est ce qu'il peut y avoir conflict ??

ex :

Set uiDoc = w.CurrentDocument
Set curdoc = uiDoc.Document
call mafonction(curdoc)
...
*****



sub mafunction(curdoc as NotesDocument)
if curdoc.form(0)="glop" then
....
end sub


En gros la question que je me pose c'est :
Ne faudrait il pas mieux ecrire le param transmis à la procedure avec un nom plus generique du genre

sub mafunction(d as document)
if d.form(0)="glop" then
....
end sub
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Damien Serve » 14 Déc 2009 à 18:07

Bonsoir,
Non il n'y a pas de problème à garder le même nom de variable tant qu'elles sont définies comme variables locales à chacune des fonctions, c'est à dire déclarée dans chacune d'elles et pas au niveau des déclarations globales. C'est une question de portée des variables.
Damien Serve
Premier posts
Premier posts
 
Message(s) : 30
Inscrit(e) le : 08 Jan 2008 à 12:40
Localisation : Grenoble

Messagepar Michael DELIQUE » 14 Déc 2009 à 21:34

Salut

non pas de souci technique mais pratique. tu risques de ne plus t'y retrouver lors de la maintenance.

généralement mes varaibles de function/sub je les préfix par un w comme ça quand je relis mon code je sais d'ou elle vient.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 15 Déc 2009 à 09:44

Bjour tt l'monde et
:) thnx à vous deux

en fait, autant que possible j'évite les globales, et si mes fonctions et procédures sont suceptibles d'être réutilisées ailleurs (quoique vous allez me dire que tout est sucesptible d'etre réutilisé !), je les nomme de manière Generique et les préfixe aussi.

Par contre justement par simplicité, dans un traitement "OneShot" j'ai tendance à conserver le meme nom.... et comme là j'ai des comportements que j'explique pas je me demandais si cela ne pouvait pas provenir de là !

Maintenant c'est clair faut que j'explore d'autres pistes... :\
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar stloje » 17 Déc 2009 à 21:08

Je vais peut être écrire une bétise, mais pourquoi passer une variable en paramètre quand on la redéfinie en local dans une fonction? Soit qu'on la passe en paramètre ou qu'on la définisse, mais pas les deux en même temps à moins d'être trop accro du nom de cette variable. Là, il faut éclairer ma p'tite lanterne et m'expliquer le pourquoi du comment! (question philosophique à deux balles!)
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans


Retour vers Développement

cron