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

Votants
349. Vous ne pouvez pas participer à ce sondage.
  • Pour la proposition 1

    102 29,23%
  • Pour la proposition 2

    10 2,87%
  • Pour la proposition 3

    11 3,15%
  • Contre

    226 64,76%
  1. #1
    Expert éminent sénior


    Inscrit en
    mai 2003
    Messages
    3 240
    Détails du profil
    Informations forums :
    Inscription : mai 2003
    Messages : 3 240
    Points : 11 073
    Points
    11 073

    Par défaut JDK 7: Proposition 13 : Accès aisé aux propriétés

    Accès aisé aux propriétés

    Proposition 1 :
    En utilisation le point comme séparateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Person {
     public property String forename;
     public property int age;
    }
    Person p = new Person();
    p.forename = "Stephen";   // calls setter
    String str = p.forename;  // calls getter
    Proposition 2 :
    En utilisant => comme séparateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Person {
     public property String forename;
     public property int age;
    }
    Person p = new Person();
    p=>forename = "Stephen";   // calls setter
    String str = p=>forename;  // calls getter
    Proposition 3 :
    En utilisant # comme séparateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Person {
     public property String forename;
     public property int age;
    }
    Person p = new Person();
    p#forename = "Stephen";   // calls setter
    String str = p#forename;  // calls getter
    Vincent Brabant

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

  2. #2
    Membre régulier
    Inscrit en
    août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : août 2004
    Messages : 171
    Points : 97
    Points
    97

    Par défaut

    Et pourquoi pas appelé la méthode setAge() définit implicitement?

  3. #3
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    novembre 2002
    Messages
    1 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : novembre 2002
    Messages : 1 952
    Points : 3 465
    Points
    3 465

    Par défaut

    clairement contre, tant que c'est ajouter un nouveau mot clé, ou pire les => ou # en accesseurs.

    (et puis bon, comment on fait avec les annotations qui se placent sur les méthodes apres @Required de spring, les annotation jpa etc...)

    modifier le langage pour remplacer quelque chose qui se fait en 3 secondes avec un ide, je trouve ca inutile

  4. #4
    Membre actif Avatar de austin P.
    Inscrit en
    juin 2004
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 41

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

    Par défaut

    contre

    n'apporte pas grand chose et je ne trouve pas la lecture plus clair
    En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche. (Jacques Rouxel : "Les shadoks")

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

    Informations forums :
    Inscription : novembre 2006
    Messages : 6 462
    Points : 8 466
    Points
    8 466
    Billets dans le blog
    1

    Par défaut

    Pour la 1, si on peut continuer à utiliser les getter/setter

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

    Informations forums :
    Inscription : mai 2002
    Messages : 373
    Points : 512
    Points
    512

    Par défaut

    pour la 1 (existe en c# et est très pratique).

  7. #7
    Membre actif Avatar de BakaOnigiri
    Inscrit en
    avril 2002
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : avril 2002
    Messages : 344
    Points : 266
    Points
    266

    Par défaut

    si on fait çà, en plus des getter/setter automatique, quel serais le véritable avantage sur un membre public ??

  8. #8
    Membre actif
    Avatar de bobuse
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2005
    Messages : 232
    Points : 273
    Points
    273

    Par défaut

    Citation Envoyé par BakaOnigiri Voir le message
    si on fait çà, en plus des getter/setter automatique, quel serais le véritable avantage sur un membre public ??
    C'est exactement ce que je pense aussi.

    Ça ne permet que d'économiser que quelques caractères, et rend l'instruction confuse.

  9. #9
    Membre régulier
    Profil pro
    Consultant informatique
    Inscrit en
    octobre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : octobre 2002
    Messages : 89
    Points : 108
    Points
    108

    Par défaut

    j'ai voté 1 par ce que je trouve que le mécanisme C# est bien

  10. #10
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    2 019
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 2 019
    Points : 2 807
    Points
    2 807

    Par défaut

    Contre la 1 sinon je ne vois pas comment on va distinguer une variable public d'une propriété public.
    Quand on utilise un get/set on suppose qu'il y a un mecanisme de protection contre les erreurs de parametres etc...
    Quand on a une variable public (donc on utlise le .) on sait qu'il n'y a aucune sécurité. Donc on ne code pas de la meme maniere.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Person {
     public property String forename;
     public property int age;
     public String pseudo;
    }
    
    Person p = new Person();
    p.forename = "Stephen";   // calls setter
    String str = p.forename;  // calls getter
    String str2 = p.pseudo; // calls rien du tout!!!
    donc si "property" il y a, il ne faut surtout pas utiliser le '.'
    je vote pour le # qui permet de les differencier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Person {
     public property String forename;
     public property int age;
     public String pseudo;
    }
    
    Person p = new Person();
    p#forename = "Stephen";   // calls setter
    String str = p#forename;  // calls getter
    String str2 = p.pseudo; // calls rien du tout, mais on le sait
    ps : j'ai voté contre les "property" donc je vote au cas où ici

  11. #11
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

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

    Par défaut

    Contre,

    Encore une fois un sucre syntaxique pas très utile (on économise 6 caractères, quelle fête) par contre on perd beaucoup en lisibilité.. sans compter les gens qui avaient déjà du mal a faire des set/get au lieu d'un champ public, si l'appel est le même elles vont se donner encore moins de mal pour faire les choses proprement.

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

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

    Informations forums :
    Inscription : novembre 2006
    Messages : 6 462
    Points : 8 466
    Points
    8 466
    Billets dans le blog
    1

    Par défaut

    C'est vrai que le "." va poser problème pour les propriétés "public", il va bien falloir distinguer

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

    Informations forums :
    Inscription : mai 2002
    Messages : 373
    Points : 512
    Points
    512

    Par défaut

    Sous visual studio cette différentiation se fait dans l'infobulle et dans l'icone du champ de l'autocomplétion ou on peut différentier un champ d'une propriété. Pour ma part ca ne m'a jamais posé problème, à vrais dire je n'avais jamais remarqué le problème.

    Le # me semble une très mauvaise idée au contraire.

  14. #14
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    2 019
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 2 019
    Points : 2 807
    Points
    2 807

    Par défaut

    Citation Envoyé par heid Voir le message
    Sous visual studio cette différentiation se fait dans l'infobulle et dans l'icone du champ de l'autocomplétion ou on peut différentier un champ d'une propriété. Pour ma part ca ne m'a jamais posé problème, à vrais dire je n'avais jamais remarqué le problème.

    Le # me semble une très mauvaise idée au contraire.
    Java n'est pas C#. M$ fait ce qu'il lui plait, libre a lui de nous empecher de faire la difference entre un '.' (propriété) et un '.' (variable public) sans son editeur propriétaire.

    Ok le # n'est pas forcement le bon séparateur. un ^ ou ! serait pas mal non plus du moment qu'on peut faire la difference.

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

    Informations forums :
    Inscription : mai 2002
    Messages : 373
    Points : 512
    Points
    512

    Par défaut

    Java n'est pas C#
    Franchement a la vue des modifications proposées ca converge quand même énormément...

    Sinon je partage ton apréhention par rapport à l'IDE. Pour ma part mieux vaux rien du tout que un autre caractère que le '.'

  16. #16
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 685
    Points : 22 428
    Points
    22 428
    Billets dans le blog
    1

    Par défaut

    Contre même si cela ne me dérangerait pas...

    Mis à part la première solution qui est vraiment affreuse car elle porte à confusion : on ne devrait pas avoir besoin d'un EDI pour savoir ce que fait une ligne de code !!!




    Par contre j'avais vu une proposition bien plus intéressante qui consistait à avoir accès aux informations de réflections des méthodes et propriétée javabeans de manière static tout comme le .class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	MyObject instance = new MyObject();
     
    	// On récupère le type de manière static :
    	Class<MyObject> type = MyObject.class;
     
    	// On récupère une méthode de manière static :
    	Method<MyObject, String> method = MyObject#toString();
    	String s = method.invoke(instance); // équivalent à instance.toString()
     
    	// On récupère une propriété et ses getter/setter de manière static :
    	Property<MyObject, String> property = MyObject#name;
    	String s = property.get(instance); // équivalent à instance.getName()
    	property.set(instance, "newName"); // équivalent à instance.setName("newName")
    ceci me brancherait bien plus

    a++

  17. #17
    Membre actif
    Avatar de bobuse
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2005
    Messages : 232
    Points : 273
    Points
    273

    Par défaut

    Citation Envoyé par adiGuba Voir le message
    Par contre j'avais vu une proposition bien plus intéressante qui consistait à avoir accès aux informations de réflections des méthodes et propriétée javabeans de manière static tout comme le .class
    Tu as des réfs ??
    Tu peux pas imaginer ce que je donnerai pour avoir ça !! Car, utilisant pas mal la réflexivité, ça me fait toujours mal de devoir faire une référence avec une chaîne de caractère, qui n'est pas du tout vérifiée à la compilation, et reste très approximatif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Method<MyObject, String> method = MyObject#toString();
    Ça serait vraiment excellent !!!

  18. #18
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 685
    Points : 22 428
    Points
    22 428
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par bobuse Voir le message
    Tu as des réfs ??
    Non malheureusement...

    J'ai retranscrit cela de mémoire... mais si je retrouve la proposition je la posterais ici

    a++

  19. #19
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    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 900
    Points
    6 900

    Par défaut

    Aucune proposition vraiment satisfaisante.

  20. #20
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juillet 2006
    Messages : 766
    Points : 1 143
    Points
    1 143

    Par défaut

    Rien d'assez interessant pour mériter de chambouler ce qui a été fait avant. Comparé aux avancées vraiment pratiques du JDK5, ca fera trop de changement peu utile qui masquera les réelles avancées, si il y en a.

Discussions similaires

  1. Zone de liste, accès aux propriétés par code
    Par AndréPe dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/02/2007, 10h41
  2. Réponses: 4
    Dernier message: 22/12/2005, 11h43
  3. Réponses: 2
    Dernier message: 05/10/2005, 16h13
  4. Accès aux propriétés ScrollBar d'un composant TMemo
    Par fausto dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/10/2003, 11h08
  5. Accés rapide aux propriétés d'un Objet
    Par Alacazam dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/11/2002, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo