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

Tests et Performance Java Discussion :

Ajouter de nouvelles règles dans Sonar


Sujet :

Tests et Performance Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Analyste/développeur Java EE
    Inscrit en
    Janvier 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste/développeur Java EE

    Informations forums :
    Inscription : Janvier 2005
    Messages : 376
    Par défaut Ajouter de nouvelles règles dans Sonar
    Bonjour,

    dans le code d'une application que l'on a récupéré en maintenance, on a du code comme ceci :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((!text.equals("") && (text !=null)){...}
    Ce code n'est pas détecté comme une source possible de NullPointerException dans Sonar.

    Sauriez-vous comment rajouter cette règle simplement ?

    D'avance merci pour votre réponse,

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Par défaut
    Bonjour,

    J'aurais parié que la règle "Broken Null Check" serait levée ?
    Est-ce que tu l'as activée ?

    Mathieu

  3. #3
    Membre éclairé
    Homme Profil pro
    Analyste/développeur Java EE
    Inscrit en
    Janvier 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste/développeur Java EE

    Informations forums :
    Inscription : Janvier 2005
    Messages : 376
    Par défaut
    Bonjour,

    cette règle est bien activée et en critical, mais elle ne couvre pas ce cas :
    The null check is broken since it will throw a Nullpointer itself. The reason is that a method is called on the object when it is null. It is likely that you used || instead of && or vice versa.
    Elle couvrirait plutôt ces cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ((!text.equals("") || (text !=null)){...}
    if ((text !=null) || (!text.equals("")){...}

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Par défaut
    Bonjour,

    As tu eu une réponse à ta question stp ?
    Car cela m'intéresse aussi !

    Citation Envoyé par v4np13 Voir le message
    Bonjour,

    dans le code d'une application que l'on a récupéré en maintenance, on a du code comme ceci :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((!text.equals("") && (text !=null)){...}
    Ce code n'est pas détecté comme une source possible de NullPointerException dans Sonar.

    Sauriez-vous comment rajouter cette règle simplement ?

    D'avance merci pour votre réponse,

  5. #5
    Membre éclairé
    Homme Profil pro
    Analyste/développeur Java EE
    Inscrit en
    Janvier 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste/développeur Java EE

    Informations forums :
    Inscription : Janvier 2005
    Messages : 376
    Par défaut
    Salut,

    non, hélas. J'aurai d'autres règles à ajouter depuis mais pas trouvé. Peut-être est-ce couvert par une version plus récente ? J'utilise toujours la même version pour éviter de casser certains builds. J'avais upgradé une fois avant mon topic et ça s'était assez mal passé sur un ou deux projets. C'est assez sensible à faire.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    Des règles qui correspondent à ton cas sont :
    "Misplaced Null Check"
    "Correcteness - NullCheck of value previously dereferenced"

    De plus, on peut écrire ton code plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((!"".equals(text)){...}
    Ca permet d'éviter le check sur null.

    Ca peut se vérifier avec la règle "String literals should be placed on the left side when checking for equality"

Discussions similaires

  1. ajout de nouvelles données dans sous formulaires
    Par gregoire747 dans le forum IHM
    Réponses: 2
    Dernier message: 16/01/2008, 17h18
  2. ajouter un nouvel element dans fichier XML
    Par bgcode dans le forum VB.NET
    Réponses: 5
    Dernier message: 09/07/2007, 16h57
  3. Réponses: 4
    Dernier message: 25/04/2007, 11h29
  4. Macro pour ajouter un nouvel élément dans un tableau
    Par dudu134 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/02/2007, 16h31
  5. Ajouter des nouvelles données dans une table
    Par Lingo dans le forum Access
    Réponses: 7
    Dernier message: 27/10/2006, 13h58

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