Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1038 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] Vous préfixez vos variables pour en déterminer la portée?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[java] Vous préfixez vos variables pour en déterminer la portée?

n°755049
Jubijub
Parce que je le VD bien
Posté le 07-06-2004 à 16:35:42  profilanswer
 

Exemple :  
 
Imaginons que vous ayez une variable de classe appelée ListeDeNom.
 
Vous faites :  
 
Convention Java

Code :
  1. public void setListeDeNom(ArrayList listeDeNom) {
  2.     this.listeDeNom = listeDeNom;
  3. }


 
ou
 
(préfixage des paramètres avec _ )

Code :
  1. public void setListeDeNom(ArrayList _listeDeNom) {
  2.     this.listeDeNom = _listeDeNom;
  3. }


 
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
mood
Publicité
Posté le 07-06-2004 à 16:35:42  profilanswer
 

n°755063
nraynaud
lol
Posté le 07-06-2004 à 16:42:11  profilanswer
 

oui, biensur, et on mets le type après aussi, en notation Hongroise : _listeDeNomsArrayList.


---------------
trainoo.com, c'est fini
n°755067
Jubijub
Parce que je le VD bien
Posté le 07-06-2004 à 16:43:46  profilanswer
 

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 :D


Message édité par Jubijub le 07-06-2004 à 17:45:23

---------------
Jubi Photos : Flickr - 500px
n°755072
nraynaud
lol
Posté le 07-06-2004 à 16:45:16  profilanswer
 

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.


---------------
trainoo.com, c'est fini
n°755095
nerisson
Pic-pic
Posté le 07-06-2004 à 16:55:34  profilanswer
 

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.


---------------
Light is right
n°755099
HelloWorld
Salut tout le monde!
Posté le 07-06-2004 à 16:57:01  profilanswer
 

Non, pas Emacs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Aux chiottes emacs.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°755218
jagstang
Pa Capona ಠ_ಠ
Posté le 07-06-2004 à 18:43:52  profilanswer
 

moi j'utilise la convention java, mais sans le this (c'est grave docteur)
 

Code :
  1. public void setListeDeNom(ArrayList listeDeNom) {
  2.         listeDeNom = listeDeNom;
  3.   }

n°755234
benou
Posté le 07-06-2004 à 18:54:00  profilanswer
 

JagStang a écrit :

moi j'utilise la convention java, mais sans le this (c'est grave docteur)
 

Code :
  1. public void setListeDeNom(ArrayList listeDeNom) {
  2.         listeDeNom = listeDeNom;
  3.   }




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 ...


---------------
ma vie, mon oeuvre - HomePlayer
n°755239
jagstang
Pa Capona ಠ_ಠ
Posté le 07-06-2004 à 18:55:19  profilanswer
 

je sais, c'est pour ça que je demande si c'est grave

n°755262
nraynaud
lol
Posté le 07-06-2004 à 19:04:31  profilanswer
 

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.


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 07-06-2004 à 19:04:31  profilanswer
 

n°755265
kadreg
profil: Utilisateur
Posté le 07-06-2004 à 19:05:41  profilanswer
 

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 :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°755441
veryfree
Posté le 07-06-2004 à 21:01:16  profilanswer
 

this.listeDeNom = listeDeNom;  rullez

n°755447
uriel
blood pt.2
Posté le 07-06-2004 à 21:04:06  profilanswer
 

sur un des projets auxquels je participe ca (truc hongroise) fait parti des conventions de codage
 
edit: personnelement j'utilise pas


Message édité par uriel le 07-06-2004 à 21:04:23

---------------
IVG en france
n°755449
Jubijub
Parce que je le VD bien
Posté le 07-06-2004 à 21:05:02  profilanswer
 

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


---------------
Jubi Photos : Flickr - 500px
n°755458
nraynaud
lol
Posté le 07-06-2004 à 21:08:49  profilanswer
 

veryfree a écrit :

this.listeDeNom = listeDeNom;  rullez

this.noms = noms;
 
 
pour moi


---------------
trainoo.com, c'est fini
n°755486
veryfree
Posté le 07-06-2004 à 21:34:10  profilanswer
 

nraynaud a écrit :

this.noms = noms;
 
 
pour moi


 
oui enfin j ai fait du copier coller hein [:joce]
 
 

n°755502
Jubijub
Parce que je le VD bien
Posté le 07-06-2004 à 21:58:01  profilanswer
 

nraynaud a écrit :

this.noms = noms;
 
 
pour moi


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...


---------------
Jubi Photos : Flickr - 500px
n°755673
jagstang
Pa Capona ಠ_ಠ
Posté le 08-06-2004 à 00:18:19  profilanswer
 

nraynaud a écrit :

oui, mais comme le compilo te le dit, il faudrait être assez con pour persister.


 :pfff:

n°755675
veryfree
Posté le 08-06-2004 à 00:20:28  profilanswer
 

nraynaud et son tact legendaire [:--jerry--]

n°755678
nraynaud
lol
Posté le 08-06-2004 à 00:24:06  profilanswer
 

veryfree a écrit :

nraynaud et son tact legendaire [:--jerry--]

il a persisté ?????


---------------
trainoo.com, c'est fini
n°755679
jagstang
Pa Capona ಠ_ಠ
Posté le 08-06-2004 à 00:25:40  profilanswer
 

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

n°755680
Nico5779
Posté le 08-06-2004 à 00:26:09  profilanswer
 

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?


Message édité par Nico5779 le 08-06-2004 à 00:29:28
n°755682
nraynaud
lol
Posté le 08-06-2004 à 00:29:59  profilanswer
 

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 ????


---------------
trainoo.com, c'est fini
n°755683
jagstang
Pa Capona ಠ_ಠ
Posté le 08-06-2004 à 00:30:15  profilanswer
 

non non c'est très bien. mais mettre "autrenom" ou "_nom" ça revient au même

n°755684
jagstang
Pa Capona ಠ_ಠ
Posté le 08-06-2004 à 00:30:50  profilanswer
 

nraynaud a écrit :

je vois pas où j'ai été sec ????


on s'est mal compris alors [:calin]

n°755685
nraynaud
lol
Posté le 08-06-2004 à 00:31:45  profilanswer
 

Nico5779 a écrit :

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?

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.


---------------
trainoo.com, c'est fini
n°755686
Nico5779
Posté le 08-06-2004 à 00:32:35  profilanswer
 

ok

n°755846
Jubijub
Parce que je le VD bien
Posté le 08-06-2004 à 09:55:05  profilanswer
 

c clair, g refactoré le nom 4x avant d'etre satisfait (et surtout pour garder un nommage uniforme en fonction de ce que représentent les variables)


---------------
Jubi Photos : Flickr - 500px
n°756943
tanguy
Posté le 08-06-2004 à 18:03:19  profilanswer
 

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 :
  1. class Me {
  2.   public void setName(String name) {
  3.      _name = name;
  4.   }
  5.   private String _name;
  6. }

n°756951
benou
Posté le 08-06-2004 à 18:18:10  profilanswer
 

moi j'aime bien le this aussi parce que le fait de taper "this." fait de la completion sous eclipse :)


---------------
ma vie, mon oeuvre - HomePlayer
n°756956
uriel
blood pt.2
Posté le 08-06-2004 à 18:27:10  profilanswer
 

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  :sweat:


---------------
IVG en france
n°756978
benou
Posté le 08-06-2004 à 18:56:03  profilanswer
 

uriel a écrit :

oui aussi et en fait je croyais que c'etait obligatoire au niveau de langage  :sweat:


moi je trouve ca obligatoire au niveau de la lisibilité ;)


---------------
ma vie, mon oeuvre - HomePlayer
n°757215
Jubijub
Parce que je le VD bien
Posté le 08-06-2004 à 22:04:34  profilanswer
 

c clair que la complétition eclipse fait beaucoup...ca et le formattage avec CTRL+I, ca te sort un code conforme aux conventions java tip top


---------------
Jubi Photos : Flickr - 500px
n°757492
noldor
Rockn'roll
Posté le 09-06-2004 à 09:55:44  profilanswer
 

le préfixage des variables membres avec un underscore, je déteste. Après c'est une question de gout


---------------
http://runnerstats.net
n°759389
tanguy
Posté le 10-06-2004 à 15:53:58  profilanswer
 

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.

n°759394
nraynaud
lol
Posté le 10-06-2004 à 15:59:42  profilanswer
 

je rappelle que ce qui est "systématique" devrait être fait par l'IDE (rajouter le "this.", formater etc.).


---------------
trainoo.com, c'est fini
n°759399
EpoK
Let's burn
Posté le 10-06-2004 à 16:02:25  profilanswer
 

on est cencé mettre le type quelque part dans le nom de la variable ?
 
(par exemple en swing : jButtonOk)

n°759405
nraynaud
lol
Posté le 10-06-2004 à 16:11:02  profilanswer
 

EpoK a écrit :

on est cencé mettre le type quelque part dans le nom de la variable ?
 
(par exemple en swing : jButtonOk)

jamais


---------------
trainoo.com, c'est fini
n°759544
noldor
Rockn'roll
Posté le 10-06-2004 à 17:36:01  profilanswer
 

c'est pas non plus interdit ceci dit, si ? :)


---------------
http://runnerstats.net
n°759557
nraynaud
lol
Posté le 10-06-2004 à 17:45:19  profilanswer
 

noldor a écrit :

c'est pas non plus interdit ceci dit, si ? :)

http://glenn.sanson.free.fr/killtheshadoks/s8.gif


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] Vous préfixez vos variables pour en déterminer la portée?

 

Sujets relatifs
[Java] JEditorPane : pourquoi "white-space:nowrap;" laisse une ligne bQUEL EST LE MEILLEUR CHOIX d'AGL ORIENTE JAVA ?
je n'arrive plus à exécuter un javajava et commandes du système
[Java] Exception : qu'est-ce qu'il est propre de faire ?site ou livre sur les api java ??
[Java] Création de Stringtransfere de fichier en java rmi
[PHP] Affichage des variables formatées ?[java]Ouvrir un fichier dans la fenetre principale
Plus de sujets relatifs à : [java] Vous préfixez vos variables pour en déterminer la portée?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR