Vous préfixez vos variables pour en déterminer la portée? [java] - Java - Programmation
Marsh Posté le 07-06-2004 à 16:42:11
oui, biensur, et on mets le type après aussi, en notation Hongroise : _listeDeNomsArrayList.
Marsh Posté le 07-06-2004 à 16:43:46
plus serieusement, ce sont dans les conventions de code de ma boite, et je l'ai déjà vu...donc ca se fait...
edit : g cru le commentaire d'avant était ironique...en fait non
Marsh Posté le 07-06-2004 à 16:45:16
en général, ce sont les variable membre qui ont leur _ devant.
et la notation Hongroise existe aussi.
Mais en java, les 2 sont déconseillées par les conventions.
Marsh Posté le 07-06-2004 à 16:55:34
La notation Hongroise était utile y'a qq années, mais maintenant n'importe quel éditeur te donnera le type de la variable et sa portée, donc ca ne sert plus a grand chose.
Marsh Posté le 07-06-2004 à 16:57:01
ReplyMarsh Posté le 07-06-2004 à 18:43:52
moi j'utilise la convention java, mais sans le this (c'est grave docteur)
Code :
|
Marsh Posté le 07-06-2004 à 18:54:00
JagStang a écrit : moi j'utilise la convention java, mais sans le this (c'est grave docteur)
|
heu ... ca marche pas ca si tu mets pas le this, il prends en priorité le paramètre de la méthode ...
donc là tu réaffecte sa valeur au paramètre ... tu fais rien quoi ...
Marsh Posté le 07-06-2004 à 19:04:31
JagStang a écrit : je sais, c'est pour ça que je demande si c'est grave |
oui, mais comme le compilo te le dit, il faudrait être assez con pour persister.
Marsh Posté le 07-06-2004 à 19:05:41
nraynaud a écrit : oui, mais comme le compilo te le dit, il faudrait être assez con pour persister. |
C'est qu'un mwarning, c'est pas grave
Marsh Posté le 07-06-2004 à 21:04:06
sur un des projets auxquels je participe ca (truc hongroise) fait parti des conventions de codage
edit: personnelement j'utilise pas
Marsh Posté le 07-06-2004 à 21:05:02
perso je trouve ca logique la notation java standard...mon boss avait pas l'air content qd g dit que je suivais pas sa convention à la con...Il m'a répondu que le top ct de préfixer avec this, mais que personne le faisait...alors g répondu que moi si, en bon petit élève qui suit les conventions de code java...depuis g une dérogation
Marsh Posté le 07-06-2004 à 21:08:49
veryfree a écrit : this.listeDeNom = listeDeNom; rullez |
this.noms = noms;
pour moi
Marsh Posté le 07-06-2004 à 21:34:10
ReplyMarsh Posté le 07-06-2004 à 21:58:01
nraynaud a écrit : this.noms = noms; |
le fait est que c vraiment une liste, indépendament de l'implémentation en ArrayList que j'ai choisi...en plus ca figure mieux de ce que c'est...en réalité dans mon code ce sont des listes d'API compatible, des listes de formats sonores compatibles, etc...avec toute ce que la sémantique de liste veut dire
maintenant faut dire que j'aime aussi les variables longues, je trouve ca univoque, ce qui est pratique en prog...hormis les paramètres que je maintiens le plus court possible...
Marsh Posté le 08-06-2004 à 00:18:19
ReplyMarsh Posté le 08-06-2004 à 00:24:06
veryfree a écrit : nraynaud et son tact legendaire |
il a persisté ?????
Marsh Posté le 08-06-2004 à 00:25:40
depuis le début je déconne. et toi tu me réponds séchement qu'il faudrait être con pour... 'fin voilà quoi, va prendre un peu l'air
Marsh Posté le 08-06-2004 à 00:26:09
Question a 2 balles...
si je fais betement
public void setListeDeNom(ArrayList autreNom) {
this.listeDeNom = autreNom;
}
histoire d'eviter tout malentendu,
je passe pour le mec qu'as rien compris a la prog?
Ca change quoi a part pour la javadoc?
Marsh Posté le 08-06-2004 à 00:29:59
JagStang a écrit : depuis le début je déconne. et toi tu me réponds séchement qu'il faudrait être con pour... 'fin voilà quoi, va prendre un peu l'air |
je vois pas où j'ai été sec ????
Marsh Posté le 08-06-2004 à 00:30:15
non non c'est très bien. mais mettre "autrenom" ou "_nom" ça revient au même
Marsh Posté le 08-06-2004 à 00:30:50
ReplyMarsh Posté le 08-06-2004 à 00:31:45
Nico5779 a écrit : Question a 2 balles... |
on s'en fout, c'est pas très grave.
C'est juste qu'en général, on a trouvé un nom qui va bien pour la variable d'instance et on le garde jusqu'au bout.
Il y a des cas où on "affine" le nom d'ailleur.
Marsh Posté le 08-06-2004 à 18:03:19
Moi je prefixe mes variables membres avec _ comme dans le bouquin du GoF. Je trouve le this trop long et changer le nom de la variable en entree d'un setter ca fait chier quand on a deja trouve un nom parfait. C'est la seul entorse que je fais aux recommandations de Sun.
Code :
|
Marsh Posté le 08-06-2004 à 18:18:10
moi j'aime bien le this aussi parce que le fait de taper "this." fait de la completion sous eclipse
Marsh Posté le 08-06-2004 à 18:27:10
benou a écrit : moi j'aime bien le this aussi parce que le fait de taper "this." fait de la completion sous eclipse |
oui aussi et en fait je croyais que c'etait obligatoire au niveau de langage
Marsh Posté le 08-06-2004 à 18:56:03
uriel a écrit : oui aussi et en fait je croyais que c'etait obligatoire au niveau de langage |
moi je trouve ca obligatoire au niveau de la lisibilité
Marsh Posté le 09-06-2004 à 09:55:44
le préfixage des variables membres avec un underscore, je déteste. Après c'est une question de gout
Marsh Posté le 10-06-2004 à 15:53:58
noldor a écrit : le préfixage des variables membres avec un underscore, je déteste. Après c'est une question de gout |
Souvent les gens mettent un m devant pour dire membre.
private String mName;
Mais moi j'adore le _ je trouve qu'ensuite on differencie bien dans le code les variables membres des autres variables des le premier coup d'oeil. Avec l'histoire du this on voit pas bien je trouve. Une fois que l'on utilise plus le this c'est difficile a voir que la variable est membre. faudrait donc mettre le this systematiquement mais comme c'est pas obligatoire (sauf lorsque l'on assigne la variable membre) on a vite fait de l'oublier.
Et pour ce qui est du:
public void setListeDeNom(ArrayList autreNom) {
this.listeDeNom = autreNom;
}
Je deteste parceque dans le javadoc tu te retrouves avec ecrit autreNom (donc moins comprehensible) alors que tu as deja un nom parfait pour ta variable membre.
Marsh Posté le 10-06-2004 à 15:59:42
je rappelle que ce qui est "systématique" devrait être fait par l'IDE (rajouter le "this.", formater etc.).
Marsh Posté le 10-06-2004 à 16:02:25
on est cencé mettre le type quelque part dans le nom de la variable ?
(par exemple en swing : jButtonOk)
Marsh Posté le 10-06-2004 à 16:11:02
EpoK a écrit : on est cencé mettre le type quelque part dans le nom de la variable ? |
jamais
Marsh Posté le 10-06-2004 à 17:36:01
nraynaud a écrit : jamais |
c'est pas non plus interdit ceci dit, si ?
Marsh Posté le 10-06-2004 à 17:45:19
Reply
Marsh Posté le 07-06-2004 à 16:35:42
Exemple :
Imaginons que vous ayez une variable de classe appelée ListeDeNom.
Vous faites :
Convention Java
ou
(préfixage des paramètres avec _ )
Dans mon exemple ca a peut d'intéret de pas faire la seconde, mais par ex g une classe où j'ai une liste, une autre liste qui contient l'ensemble des valeurs acceptables, et donc la liste passée en paramètre... et ca fait des listOfXXX partout,c moins lisible
Je suis plutot adepte de la première méthode si on se force à préfixer systématiquement avec this la variable de classe, mais on voit souvent des gens coder avec la seconde...je voulais un avis des javateux...
---------------
Jubi Photos : Flickr - 500px