IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Simplifier le code de vos beans Java à l'aide de Commons Lang, Guava et Lombok


Sujet :

Entrée/Sortie Java

  1. #21
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par thierryler Voir le message
    Perso, durant mes essais, ça a été invisible
    chez moi aussi

  2. #22
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciel
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Merci également pour cet article qui est très bon.

    On doit ensuite faire un refresh (touche F5) dans Eclipse pour faire apparaitre Guava (et ses dépendances) dans la liste des bibliothèques référencées.
    Pour la première fois où cette phrase apparait : On doit ensuite faire un refresh (touche F5) dans Eclipse pour faire apparaitre Apache Commons Lang (et ses dépendances) dans la liste des bibliothèques référencées.

  3. #23
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par Nemek Voir le message
    Ensuite les outils utilisés par Sonar proposent TOUS un système d'exclusion. En ciblant correctement, on peut avoir des "bonnes" stats.
    J'ai travaillé sur des projets où les entités censées contenir uniquement des getters/setters étaient ignorées des analyses SONAR. Par curiosité j'ai enlevé le filtre et quelle ne fut pas ma surprise d'avoir des dépendances cycliques de packages, des dizaines de violations supplémentaires, etc.
    C'est toujours compliqué de trouver le juste milieux.
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

  4. #24
    Membre confirmé
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Points : 497
    Points
    497
    Billets dans le blog
    1
    Par défaut
    Salut a tous
    bon bah je vais passer pour un troll, mais pourquoi ne pas simplifier votre code en utilisant groovy et gmaven
    La dernière fois que j'ai utilisé lombok intellij ne voyait pas la génération des méthodes au runtime, et les equals et hashcode étaient peu customisable.

    En tous cas merci pour l'article

  5. #25
    Membre du Club Avatar de dark.jabberwock
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 38
    Points : 61
    Points
    61
    Par défaut
    Merci pour cet article. Je découvre plein de choses d'un coup...

    Le seul truc qui me dérange est le fait de devoir modifier l'IDE avec Lombok. Sinon c'est clair que ça peut être un sacré gain de temps...

  6. #26
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par dark.jabberwock Voir le message
    Le seul truc qui me dérange est le fait de devoir modifier l'IDE avec Lombok. Sinon c'est clair que ça peut être un sacré gain de temps...
    Je ne sais pas si l'on peut parler de gain de temps car un "Generate getters and setters" est assez rapide d'origine. Je parlerais plutôt de gain de lisibilité et de qualité de code.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  7. #27
    Membre du Club Avatar de dark.jabberwock
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 38
    Points : 61
    Points
    61
    Par défaut
    En fait Robin56 je pensais à un gain de temps si l'on utilise l'annotation @Data. Car au niveau d'Eclipse même avec les raccourcis clavier, c'est plus court d'écrire 5 lettres en annotations que de générer via l'IDE les différents éléments générés par @Data. Par contre le "sacré gain de temps" est largement exagéré de ma part j'en convient.

    Après effectivement c'est surtout un gain de lisibilité et pour moi une certaine qualité de code notamment au niveau equals et hashCode.

    Réflexion à part, en pensant aux métriques de Sonar (je ne connais que peu le paramétrage de l'outil), on nettoie peut être un peu la partie nombre de ligne de code et pourcentage de commentaire. A moins que pour ces informations, on puisse également exclure les classes de certaines vérifications. Là dessus qu'en pensez-vous ?

  8. #28
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Citation Envoyé par natha Voir le message
    J'ai travaillé sur des projets où les entités censées contenir uniquement des getters/setters étaient ignorées des analyses SONAR. Par curiosité j'ai enlevé le filtre et quelle ne fut pas ma surprise d'avoir des dépendances cycliques de packages, des dizaines de violations supplémentaires, etc.
    C'est toujours compliqué de trouver le juste milieux.
    Je te l'accorde ! D'ailleurs à l'inverse sur mes projets j'ai des classes bêtes et méchantes (type utilitaire) qui sont marqués en Hot Spot (pas sûr du nom). De même, les classes un peu critique au sens de l'analyse statique (beaucoup de code) remonte rapidement alors que d'autres classes avec moins code mais très critique vont rester dans le bas du tableau, derrière des POJO, parce qu'elles ont peu de code.

    Cependant, dans ton cas, il semble surtout que ce soit un problème d'identification des exclusions. Je suggère fortement aux architectes/concepteurs/dev leader de définir clairement des règles aussi bien de codage que d'organisation des packages ou des règles précises de nommage.
    Ca permet dans tous les cas à quelqu'un de comprendre là où il se trouve (lors de la navigation / recherche) et où il doit chercher dans le code.

    Autre point, certaines règles ne devraient pas avoir d'exclusion (en tout cas, je ne vois pas de raison), et je pense dans ton cas, à l'analyse des dépendances.

    Enfin, cela me donne une idée pas si mal, inclure des analyses spécifiques pour ce qui a été exclu. Je ne sais pas si cela est possible avec Sonar ... Par exemple, vérifier qu'il s'agit de simple POJO.

    Citation Envoyé par Robin56 Voir le message
    Je ne sais pas si l'on peut parler de gain de temps car un "Generate getters and setters" est assez rapide d'origine. Je parlerais plutôt de gain de lisibilité et de qualité de code.
    En maintenance, ca fait toujours gagner pas mal de temps et éviter des erreurs bêtes comme supprimer des getter/setter mais pas l'attribut et pour le couple equals/hashCode j'en parle même pas !


    Citation Envoyé par dark.jabberwock Voir le message
    Réflexion à part, en pensant aux métriques de Sonar (je ne connais que peu le paramétrage de l'outil), on nettoie peut être un peu la partie nombre de ligne de code et pourcentage de commentaire. A moins que pour ces informations, on puisse également exclure les classes de certaines vérifications. Là dessus qu'en pensez-vous ?
    Vu qu'il n'y a pas de code, ces métriques ne sont pas "impactées". Comme je le mentionnai ca ne peut qu'augmenter la justesse des métriques.
    Exemple, 10 erreurs sur 100 lignes utiles ou sur 125 dont 25 inutiles, ca donne 10% ou 8% d'erreur. Si on considère qu'il y a beaucoup de POJO, surtout avec des framework comme Struts (Forms) / JSF (Backing bean) / JPA (Persistent class) / J2EE (EJB), il doit y avoir un paquet de lignes de codes non critiques.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  9. #29
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Bonjour

    J'ai un test avec NetBeans sa ne fonctionne pas (j'ai pas trouvé de plugiin) puis dans mon cas j'utilisé un projet Maven sur NetBeans ? (a 1er vu je peu pas utilisé Lombok !!)
    Serai t'il possible d'utilisé Lombok avec des entité JPA ?

    Merci

  10. #30
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par geforce Voir le message
    Bonjour

    J'ai un test avec NetBeans sa ne fonctionne pas (j'ai pas trouvé de plugiin) puis dans mon cas j'utilisé un projet Maven sur NetBeans ? (a 1er vu je peu pas utilisé Lombok !!)
    Serai t'il possible d'utilisé Lombok avec des entité JPA ?

    Merci
    Je pense qu'il n'y a pas de pb je l'ai utilisé avec les annotations Jaxb et Bindy alors pourquoi pas les annotation JPA.

    A+JYT

  11. #31
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Points : 12 815
    Points
    12 815
    Par défaut
    Le plugin NetBeans est inclus dans le Jar de Lombok. Il suffit de double cliquer dessus après l'avoir téléchargé.
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  12. #32
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Bonjour thierryler et sekaijin

    Ci-dessous le message d'erreur que j'ai dans mon IDE (je les testé sur deux pc différant et c'est la même chose).

    Nom : Capture.PNG
Affichages : 288
Taille : 94,2 Ko

    de plus dans cette classe beans voir la fenêtre Navigator je n'ai pas les getteur et setteur et ..... avec mon utilisation de @Data. de plus même dans l'éditeur je n'est pas accès au getteur et setteur...

    NB: j'utilise Netbeans 8.0. et le Jar lombok-0.11.0 est bien chargé.

  13. #33
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Points : 12 815
    Points
    12 815
    Par défaut
    Déjà, as-tu bien installé le plugin ? Pour cela télécharge le jar/zip de Lombok et double-clic dessus.

    Dans Eclipse j'ai aussi des soucis avec @Data
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  14. #34
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Citation Envoyé par thierryler Voir le message
    Déjà, as-tu bien installé le plugin ? Pour cela télécharge le jar/zip de Lombok et double-clic dessus.

    Dans Eclipse j'ai aussi des soucis avec @Data
    Oui j'ai fait comme tu ma dit sur la Jar de Lombok (je les récupéré avec Maven), mais rien qui se passe (pas d’installation du plugin selon moi).
    Nom : Capture.PNG
Affichages : 189
Taille : 10,8 Ko

  15. #35
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    un double click n'est peut-être pas la bonne façon de faire.

    en effet un fichier *.jar n'est pas exécutable.
    Il faut pour cela qu'il soit associé à un exécutable Java ce qui n'est pas toujour le cas.

    sous windows il faut associer *.jar à "C:\Program Files\Java\jre1.6.0_01\bin\java.exe" -jar "%1" %*
    Mais sous sevent il n'est plus possible via l'interface graphique d'ajouter un verbe dans la liste des commandes associé à un type de fichier.

    du coup les seules solution sont de remplacer l'action
    ou passer par regedit pour ajouter une commande.

    essais en ligne de commande
    java.exe -jar Lombok.jar

    A+JYT

  16. #36
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Points : 12 815
    Points
    12 815
    Par défaut
    Quand je double-clic dessus, sous Windows 7, ça lance l'interface d'installation de Lombok. Celle-ci me demande dans quel Eclipse je veux installer...
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  17. #37
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    C'est parce que par défaut sous windows7 la commande associé au fichier *.jar est java.exe -jar %1 %
    mais ce n'est pas toujours le cas

    A+JYT

  18. #38
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Bonjour à tous,

    Bien quand je Click avec mon Windows 7 directement sur la lombok-0.11.0.jar (je ne passe pas par mon IDE NetBeans) j'ai l’interface qui se lance, mais ne me donne pas le choix d'installer le plugin sur NetBeans il y que le choix d'Eclipse.

    Y t'il le plugin pour NetBeans ?

    Merci

Discussions similaires

  1. Réorganiser le code généré des beans
    Par osopardo dans le forum NetBeans
    Réponses: 1
    Dernier message: 24/05/2007, 17h52
  2. Réponses: 9
    Dernier message: 11/05/2007, 17h43
  3. Comment gérez vous vos projets JAVA ?
    Par proner dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 21/03/2007, 16h55

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