Page 1 sur 1

Fonction / Sub et passage de param

MessagePublié: 14 Déc 2009 à 17:45
par Ahamay
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

MessagePublié: 14 Déc 2009 à 18:07
par Damien Serve
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.

MessagePublié: 14 Déc 2009 à 21:34
par Michael DELIQUE
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.

MessagePublié: 15 Déc 2009 à 09:44
par Ahamay
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... :\

MessagePublié: 17 Déc 2009 à 21:08
par stloje
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!)