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

Langage Java Discussion :

[bonne pratique] Polymorphisme ou gestion du null dans les arguments ?


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 9
    Points : 9
    Points
    9
    Par défaut [bonne pratique] Polymorphisme ou gestion du null dans les arguments ?
    Bonjour,

    J'aurai voulu ce qui était le plus propre entre :

    1 utilisation du polymorphisme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void fonctionA( int A)
    {
    /*traitement sur A*/
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void fonctionA( int A, int B)
    {
    /*traitement sur A et B*/
    }
    ou
    2 gestion de la "nullité" des arguments

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public void fonctionA( int A, int B)
    {
    if( B != null ){
         /*traitement seulement sur A et B*/   
       }
    else{
        /*traitement seulement sur A */
    }
    J'aurai tendance à privilégier la seconde méthode car :
    - plus concise
    - peut être un peu blindée (au moins un argument "facultatif" est testé pour éviter les NPE)

    Je vous remercie.

    Bonne journée.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    J'aurais dis les 2... et dans ton exemple, un type primitif ne peut pas être null
    Personnellement, j'utilise le polymorphisme et j'implémente la méthode dans la plus précise (dans ce genre de cas bien sûr)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public String remplacerJoker(String source)
    {
       return remplacerJoker(source, false);
    }
     
    public String remplacerJoker(String source, boolean ajouterEnDernier)
    {
       if (source == null)
       {
          return source;
       }
       String temp = source.replaceAll("*", "%");
       if (ajouterEnDernier && !temp.endsWith("%"))
       {
          temp += "%";
       }
       return temp;
    }

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Merci!

    Oups pour le type primitif...

    En effet je vais prendre ta méthode, ça reste concis et factorisé
    je passe à Résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bonne pratique admin sys gestion pic apache
    Par iowa dans le forum Administration système
    Réponses: 2
    Dernier message: 22/02/2013, 14h01
  2. Bonne pratique pour la gestion du son
    Par jojolepabo dans le forum ActionScript 3
    Réponses: 6
    Dernier message: 18/04/2011, 16h38
  3. Réponses: 5
    Dernier message: 08/04/2011, 11h55
  4. Réponses: 4
    Dernier message: 17/09/2010, 18h48
  5. Gestion des NULL dans les tables externes
    Par plouf2244 dans le forum Firebird
    Réponses: 1
    Dernier message: 23/03/2006, 17h55

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