Publicité

Affichage des résultats du sondage: Êtes-vous pour ou contre cette proposition ?

Votants
332. Vous ne pouvez pas participer à ce sondage.
  • Pour

    185 55,72%
  • Contre

    147 44,28%
+ Répondre à la discussion
Page 1 sur 7 12345 ... DernièreDernière
Affichage des résultats 1 à 20 sur 128
  1. #1
    Expert Confirmé Sénior

    Inscrit en
    mai 2003
    Messages
    3 251
    Détails du profil
    Informations forums :
    Inscription : mai 2003
    Messages : 3 251
    Points : 10 542
    Points
    10 542

    Par défaut JDK 7: Proposition 12 : déclaration des propriétés

    But: supprimer le fait d'écrire des setters et getters
    Code :
    1
    2
    3
    4
    5
     
    public class Person {
     public property String forename;
     public property int age;
    }
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

  2. #2
    Membre éclairé Avatar de JPDMJC
    Inscrit en
    février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : février 2005
    Messages : 337
    Points : 375
    Points
    375

    Par défaut

    J'ai voté non, je préfère garder un plein contrôle sur mes getters et setters.
    Certes, ce mot clef permettrait d'économiser quelques lignes de code, mais enfin bon, les éditeurs d'aujourd'hui peuvent les construire en un ou deux clics.

    Sinon, pour le code exemple, l'appel du getter sous-entendu - par exemple pour la propriété age - serait bien getAge() ? C'est juste pour être sûr à 100%, des fois que ^^.

  3. #3
    Membre du Club
    Inscrit en
    août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : août 2004
    Messages : 171
    Points : 69
    Points
    69

    Par défaut

    Moi je suis 100% pour, je pense même que c'est la proposition la plus intéressante, pour plusieurs raison

    1 De nombreux framework utilise la reflexivité (PropertyUtils#setProperty(..)) pour mettre a jour l'attribut d'un objet,
    puis avec son IDE préféré en fait un "open call hierarchy" sur la méthode on trouve aucun appel.... dommage
    2 Pour les commentaires on souhaite souvent décrire l'utilité d'un attribut et non pas la méthode pas la méthode qui va mettre ajour cette propriété. A moins de triplé le commentaire(attribut, setter getter)
    3
    je préfère garder un plein contrôle sur mes getters et setters.
    Ici on parle de property, une property au sens java bean, n'a pas a avoir de controle.

    Je crois que ceci a été faite dans C#, mais je n'ai jamais expérimenté.

    Merci pour le débat tres intéressant... :p

  4. #4
    Expert Confirmé Sénior Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 3 075
    Points : 6 760
    Points
    6 760

    Par défaut

    Pour, mais il faudra que ca soit plus avancé que cette courte description. Il faudrait garder la possibilité de redéfinir les getter/setters, et de faire des propriété read/write only.

    J'ai vu pas mal de sujets intéressant qui discutaient de la manière de traiter ca.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : décembre 2004
    Messages : 667
    Points : 330
    Points
    330

    Par défaut

    Pour si on peut garder la possibilité de faire des getteur setteur.

  6. #6
    Membre confirmé Avatar de austin P.
    Inscrit en
    juin 2004
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : juin 2004
    Messages : 182
    Points : 203
    Points
    203

    Par défaut

    plutot pour

    evite les kilometres de getter et setter
    vas dans le sens de l'IOC qui est un plus
    il manque par contre la notion de read/write
    En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche. (Jacques Rouxel : "Les shadoks")

  7. #7
    Invité régulier
    Homme Profil pro
    Inscrit en
    juin 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : juin 2002
    Messages : 14
    Points : 9
    Points
    9

    Par défaut

    Pour mais un peu plus configurable.
    Sinon comment dire "je veux juste un setteur" "le setteur est protected"

    Pourquoi ne pas ajouter des annotations prisent en compte au javac

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Person {
     @access readWrite protected
     public String forename;
     
     @access read public
     public int age;
    }

  8. #8
    Expert Confirmé Sénior
    Avatar de elitost
    Homme Profil pro Eric REBOISSON
    Consultant informatique
    Inscrit en
    septembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric REBOISSON
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2003
    Messages : 1 986
    Points : 6 850
    Points
    6 850

    Par défaut

    Je vote pour, même si ça pourrait être "confusing".

  9. #9
    Rédacteur/Modérateur
    Avatar de romaintaz
    Homme Profil pro Romain Linsolas
    Java craftsman
    Inscrit en
    juillet 2005
    Messages
    3 753
    Détails du profil
    Informations personnelles :
    Nom : Homme Romain Linsolas
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2005
    Messages : 3 753
    Points : 7 213
    Points
    7 213

    Par défaut

    Clairement pour !
    C'est franchement lourd, inutile et polluant de mettre 50 getters et setters dans son bean Java.
    D'autant que si j'ai vraiment besoin que mon getter (ou setter) fasse quelque chose de spécial, alors je définis moi-même mon getter ou setter.
    L'idéal serait que si je fais ça :

    Code :
    1
    2
    3
    4
    5
    6
     
    public property String maPropriete;
     
    public String getMaPropriete() {
        // mon code à moi
    }
    alors ce soit mon getMaPropriete() qui soit appelé, mais pour le setter, c'est Java qui gère...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    5 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 5 762
    Points : 7 226
    Points
    7 226

    Par défaut

    Pour, évidement, il faut pouvoir redéfinir le getter/setter si besoin est...
    Donc, dans le cas suivant :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class MonObjet
    {
       private property String chaine1;
     
       public String getChaine1()
       {
          return chaine1 == null ? "" : chaine1;
       }
    }
    fonctionnerait comme l'override...
    Quelle serait la convention utilisée pour les boolean ( isMaPropriete() ou getMaPropriete()...)

  11. #11
    Membre éclairé Avatar de heid
    Profil pro
    Inscrit en
    mai 2002
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : mai 2002
    Messages : 351
    Points : 377
    Points
    377

    Par défaut

    je préfère de loin la syntaxe c# qui me parait un très bon compromis entre fonctionnalité et concision :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private String _test;
    public String test
      {
        get
        {
          return _test;
        }
        set
        {
          _test = value;
        }
      }

  12. #12
    Membre confirmé Avatar de BakaOnigiri
    Inscrit en
    avril 2002
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : avril 2002
    Messages : 344
    Points : 235
    Points
    235

    Par défaut

    pour, mais comme le dit OButterlin il faut pouvoir faire en sorte qu'un getter/setter perso prenne le pas sur le getter/setter automatique

  13. #13
    Rédacteur/Modérateur
    Avatar de romaintaz
    Homme Profil pro Romain Linsolas
    Java craftsman
    Inscrit en
    juillet 2005
    Messages
    3 753
    Détails du profil
    Informations personnelles :
    Nom : Homme Romain Linsolas
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2005
    Messages : 3 753
    Points : 7 213
    Points
    7 213

    Par défaut

    Pas vraiment d'accord avec heid, dans la mesure où la proposition du langage permettrait de zapper complètement l'écriture des getters et setters basiques. Là, tu es obligé de tout écrire, même si c'est un peu plus propre / court qu'actuellement...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  14. #14
    Membre expérimenté Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    février 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : février 2005
    Messages : 657
    Points : 590
    Points
    590

    Par défaut

    Je suis pour si toutes les propositions précédentes sont présentes

  15. #15
    Rédacteur
    Avatar de eclesia
    Inscrit en
    décembre 2006
    Messages
    1 976
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 1 976
    Points : 2 794
    Points
    2 794

    Par défaut

    Contre. Imaginer que vous vouliez changer le nom de votre variable. le nom des get/set changera avec ... quel beau bordel ca fera.

  16. #16
    Membre éclairé Avatar de heid
    Profil pro
    Inscrit en
    mai 2002
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : mai 2002
    Messages : 351
    Points : 377
    Points
    377

    Par défaut

    Citation Envoyé par romaintaz Voir le message
    Pas vraiment d'accord avec heid, dans la mesure où la proposition du langage permettrait de zapper complètement l'écriture des getters et setters basiques. Là, tu es obligé de tout écrire, même si c'est un peu plus propre / court qu'actuellement...
    Justement zapper complètemen je suis contre. et les get set c'est trop lourd syntaxiqueemnt.

  17. #17
    Rédacteur/Modérateur
    Avatar de romaintaz
    Homme Profil pro Romain Linsolas
    Java craftsman
    Inscrit en
    juillet 2005
    Messages
    3 753
    Détails du profil
    Informations personnelles :
    Nom : Homme Romain Linsolas
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2005
    Messages : 3 753
    Points : 7 213
    Points
    7 213

    Par défaut

    Je reste pour
    La plupart de mes accesseurs sont vraiment basiques, je préférerais placer le mot property devant, et c'est marre !
    Vu que c'est un ajout à l'existent, rien ne m'empêche de garder mes bons vieux setters et getters si j'en ai envie !
    C'est comme le for (String maString: maListeDeString) { ... } : ça n'ajoute pas de nouvelles fonctionnalités, mais ça allège le code de lignes inutiles...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  18. #18
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : février 2004
    Messages : 1 259
    Points : 1 923
    Points
    1 923

    Par défaut

    Un tout petit petit pour ..

    D'ailleurs ça doit être faisable déjà aujourd'hui avec des assertions.

    Pas un gain énorme sauf quand on doit écrire un javabean stupide a la mano, mais la plupart du temps on passe par un framework X ou Y aujourd'hui donc ..

    Faudrait que la javadoc suive aussi dans ce cas et ajoute les méthodes invisibles dans le code automatiquement.
    Pour moi inutile de donner la priorité a un getter écrit a la mano par exemple, il faut dans ce cas virer le mot clé property et faire les choses correctement en contrôlant le getter et le setter.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  19. #19
    Rédacteur/Modérateur
    Avatar de romaintaz
    Homme Profil pro Romain Linsolas
    Java craftsman
    Inscrit en
    juillet 2005
    Messages
    3 753
    Détails du profil
    Informations personnelles :
    Nom : Homme Romain Linsolas
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2005
    Messages : 3 753
    Points : 7 213
    Points
    7 213

    Par défaut

    Citation Envoyé par bulbo Voir le message
    Pour moi inutile de donner la priorité a un getter écrit a la mano par exemple, il faut dans ce cas virer le mot clé property et faire les choses correctement en contrôlant le getter et le setter.
    Je suis tout à fait d'accord, c'est bien plus propre. Maintenant, rien ne t'empêche de définir un setter (ou un getter) sur une property, et dans ce cas, j'estime qu'il est important que le setter (getter) défini manuellement soit prioritaire...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  20. #20
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : février 2004
    Messages : 1 259
    Points : 1 923
    Points
    1 923

    Par défaut

    Citation Envoyé par romaintaz Voir le message
    Je suis tout à fait d'accord, c'est bien plus propre. Maintenant, rien ne t'empêche de définir un setter (ou un getter) sur une property, et dans ce cas, j'estime qu'il est important que le setter (getter) défini manuellement soit prioritaire...
    Tu peux aussi avoir une erreur de compil qui te dit que tu essayes de redéfinir un get/set d'une property et je préfèrerais ça. Imagine tu fais une faute de frappe dans le nom de ta méthode .. du coup tu n'appelleras pas la bonne et en regardant ton code tu auras l'impression que si ..

    Alors que si 'property' get/set auto sinon get/set a la mano, tu es sur de pas te planter..

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •