Publicité

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%
+ Répondre à la discussion
Page 1 sur 5 12345 DernièreDernière
Affichage des résultats 1 à 20 sur 94
  1. #1
    Expert Confirmé Sénior

    Inscrit en
    mai 2003
    Messages
    3 284
    Détails du profil
    Informations forums :
    Inscription : mai 2003
    Messages : 3 284
    Points : 9 776
    Points
    9 776

    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 :
    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 :
    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 :
    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 du Club
    Inscrit en
    août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : août 2004
    Messages : 171
    Points : 62
    Points
    62

    Par défaut

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

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

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : novembre 2002
    Messages : 1 946
    Points : 3 072
    Points
    3 072

    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
    181
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : juin 2004
    Messages : 181
    Points : 178
    Points
    178

    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
    5 590
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 5 590
    Points : 6 210
    Points
    6 210

    Par défaut

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

  6. #6
    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 : 338
    Points
    338

    Par défaut

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

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

    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 confirmé Avatar de bobuse
    Inscrit en
    janvier 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : janvier 2005
    Messages : 229
    Points : 225
    Points
    225

    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 habitué
    Profil pro
    Consultant informatique
    Inscrit en
    octobre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : octobre 2002
    Messages : 94
    Points : 100
    Points
    100

    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
    Inscrit en
    décembre 2006
    Messages
    1 972
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 1 972
    Points : 2 480
    Points
    2 480

    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 :
    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 :
    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 : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

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

    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
    5 590
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 5 590
    Points : 6 210
    Points
    6 210

    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 é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 : 338
    Points
    338

    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
    Inscrit en
    décembre 2006
    Messages
    1 972
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 1 972
    Points : 2 480
    Points
    2 480

    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 é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 : 338
    Points
    338

    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 Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 204
    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 204
    Points : 19 154
    Points
    19 154

    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 :
    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 confirmé Avatar de bobuse
    Inscrit en
    janvier 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : janvier 2005
    Messages : 229
    Points : 225
    Points
    225

    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 :
    Method<MyObject, String> method = MyObject#toString();
    Ça serait vraiment excellent !!!

  18. #18
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 204
    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 204
    Points : 19 154
    Points
    19 154

    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 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 245
    Points
    6 245

    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 : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juillet 2006
    Messages : 766
    Points : 984
    Points
    984

    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.

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
  •