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 :

Duplication de code, Help.


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut Duplication de code, Help.
    Bonjour,
    j'aimerai un conseil concernant une classe qui possède plusieurs constructeurs et une autre methode execute (execution d'un code general et où je sette des valeurs pour tous mes tests en general) qui est appelé à toutes mes classes de tests.
    Cependant pour certains tests, je dois modifié cette methode execute().
    Ceci implique le crach des tests generaux qui fonctionnaient jusque là.

    Premiere idée :
    Dupliqué cette classe avec la meme methode excecute() qui s'adapte à mes tests speciaux?

    Mais cela ne respecte pas le design du début...ou bien je dois setté les valeurs qui posent probleme dans chacun de mes tests pour éviter de dupliquer cette classe?
    merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par Mobistar
    Bonjour,
    j'aimerai un conseil concernant une classe qui possède plusieurs constructeurs et une autre methode execute (execution d'un code general et où je sette des valeurs pour tous mes tests en general) qui est appelé à toutes mes classes de tests.
    Cependant pour certains tests, je dois modifié cette methode execute().
    Ceci implique le crach des tests generaux qui fonctionnaient jusque là.

    Premiere idée :
    Dupliqué cette classe avec la meme methode excecute() qui s'adapte à mes tests speciaux?

    Mais cela ne respecte pas le design du début...ou bien je dois setté les valeurs qui posent probleme dans chacun de mes tests pour éviter de dupliquer cette classe?
    merci d'avance.
    Je suis pas sûr d'avoir bien compris, mais je setterais les valeurs pour chacun des tests ou alors si la méthode a vraiment une fonction propre, je ferais une deuxième fonction qui agirait pour la deuxième batterie de test. Mais logiquement, on ne devrait pas ajouter de méthode à notre code rien que pour faire des tests. Les tests doivent tester la classe telle qu'elle est pour tout le monde.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut
    Hello,

    montre peut-être une petite partie de ton code pour illustrer le problème. Veuille a bien concevoir tes constructeurs.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut exemple de ma demande
    public class Pays extends PaysExtension {

    // pour simple test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Toto (String nom , String prenom ) {
    		this.nom = nom
    		this.prenom  = prenom ;
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void execute() {
     
    		setVille(VILLE.Value);
    		setCodePostal(CODEPOSTAL.Value);
    		super.setPays(Pays.Value);
    		super.execute();
    	}
    en fait, pour effectuer mes tests, ca marche super comme ca, mais pour des tests speciaux
    cette methode execute a besoin d'etre modifiée.
    Et comme mes tests generaux se comptes par centaine, dois je faire une nouvelle classe pour PaysSpecial avec cette methode :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void execute() {
     
    		super.setPays(Pays.Value);
    		super.execute();
    	}
    ou je ne sette pas Ville et CodePostal car je les sette directement dans la classe du test.

    Donc finalement, soit je modifie mes tests un à un pour que je n'ai qu'une methode execute ou soit je crée une nouvelle classe
    avec plus ou moins le meme maniere de coder sauf que la methode execute est differente

    merci d'avance.
    ne pas prendre en compte le contexte c'est à dire pays, etc...ce n'est que pour vous montrer mieux sur la manière de faire si je duplique ou pas.

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

Discussions similaires

  1. MVC : UserControls pour éviter la duplication de code.
    Par stackpuke dans le forum ASP.NET
    Réponses: 3
    Dernier message: 09/07/2009, 16h49
  2. Facelets / Duplication de code
    Par romainw dans le forum JSF
    Réponses: 4
    Dernier message: 08/01/2009, 08h37
  3. Constructeurs et méthodes d'objets : duplication du code ou non ?
    Par Hibou57 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 03/10/2007, 20h41
  4. Réponses: 1
    Dernier message: 13/06/2007, 11h23

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