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

C++ Discussion :

[POO] Compléter une classe existante


Sujet :

C++

  1. #1
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut [POO] Compléter une classe existante
    Bonjour à tous,

    Je suis tjs sur le même projet en POO (C++). Seulement, voilà qu'une collègue de travail voudrait aller plus loin sur une partie du programme que j'ai dévéloppé pour ses applications physiques.

    La question est la suivante : est-ce qu'il vaut mieux que je lui confie le code source de mes classes pour qu'elle continue le développement de nouvelles fonctions membres sur les classes qui la concerne? Ou bien alors qu'elle fasse hériter ses classes des miennes pour ne rien toucher à ce que j'ai fait?

    Ci joint mon diagramme des classes en UML (avec BOUML)

    Ce sont les classes LPT et HR qui sont concernées. Comme HR est un LPT, ce serait logique de tout implémenter dans LPT.
    Est-ce la bonne façon de procèder ?

    Merci à vous
    Images attachées Images attachées  

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    C'est tres difficile de repondre sans bien comprendre ce qui est deja fait et ce qui est a faire.

    Une technique possible est le CRTP: faire de HR un template qui herite de son parametre template. Ainsi tu peux l'instancier sur LPT et ta collegue sur sa classe qui descend de LPT.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Points : 1 544
    Points
    1 544
    Par défaut
    Si tes sources ne sont pas confidentielles, autant les partager.

    Pour la synchonisation si toi également tu y touches, utilise un serveur de versionning (CVS, SVN).

    Pour t'y retrouver dans ce que tu as fait et ce qu'elle a fait, impose lui des commentaires.

    Si un point pose problème, mets tout ça dans une librairie et elle héritera de celle-ci.

  4. #4
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    C'est tres difficile de repondre sans bien comprendre ce qui est deja fait et ce qui est a faire.

    Une technique possible est le CRTP: faire de HR un template qui herite de son parametre template. Ainsi tu peux l'instancier sur LPT et ta collegue sur sa classe qui descend de LPT.
    Je me suis renseigner sur le CRTP... Effectivement, ça pourrait convenir, mais ça modifirai franchement mon code...

    Citation Envoyé par mister3957
    Si tes sources ne sont pas confidentielles, autant les partager.

    Pour la synchonisation si toi également tu y touches, utilise un serveur de versionning (CVS, SVN).

    Pour t'y retrouver dans ce que tu as fait et ce qu'elle a fait, impose lui des commentaires.

    Si un point pose problème, mets tout ça dans une librairie et elle héritera de celle-ci.
    Un serveur de visionning... jamais entendu parler. Je vais me renseigner ! Merci!
    Oui, je vais lui imposer des commentaires, ça c'est sur!



    Merci à vous deux! Je pense aller au plus simple ce coup ci : ma collègue implementera directement dans mon code source, il n'y a rien de confidentiel.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Points : 1 544
    Points
    1 544
    Par défaut
    Pour plus d'info sur le versionning tu devrais pouvoir en trouver en sollicitant google.

    Il y a deux protocoles: SVN et CVS. SVN est plus récent, il gère le renommage de fichier alors que avec CVS, si tu renommes un fichier, le serveur lui effacera l'ancien pour en créer un nouveau et tu perd l'historique.

    Pour commencer, je te conseil d'aller faire un tour sur :
    http://subversion.tigris.org/ pour le serveur
    et
    http://tortoisesvn.tigris.org/ pour le client.

    On utilise ça au boulot, et je l'utilise également chez moi, c'est très léger et très simple et très performant.
    Le lancement du serveur se fait par ligne de commande, que tu peux exporter dans un service Windows (tout est expliquer). Quant aux actions, elles sont intégrées dans le menu contextuel Windows.

    Grâce à ça, vous pourrez travailler ensemble mais tu pourras également récupérer l'état des fichiers à n'importe quel moment (n'importe quelle version).

    Attention aux accès réseaux, n'oublie pas d'ouvrir ce qu'il faut pour qu'elle y accède.

    Quant aux commentaires d'édition, formalise les de telle sorte que tu puisses faire une recherche dans ton code.

    En cas de pépins :

    P.S.: Même sans travailler en équipe, il est bon de connaître ce genre d'outil car même seul, c'est toujours util. Si tu t'embarques dans des modifs et que finalement c'est pas bon, hop tu récupères la version "avant modif" et c'est reparti. Ca sert de sauvegarde également: Mon serveur est sur une machine, ma répo est sur un autre dique et un utilitaire de sauvegarde transfert régulièrement cette répo sur un autre disque, de ce fait, en cas de crash de disque ou de système, j'ai toujours une sauvegarde quelque part.

  6. #6
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Oui, ça m'intéresse. Je vais y jeter un oeil je crois!

    Merci bcp pour ton explication...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/07/2007, 13h39
  2. Réponses: 3
    Dernier message: 27/04/2007, 15h51
  3. template et utilisation avec une classe existante
    Par vartav dans le forum Langage
    Réponses: 6
    Dernier message: 14/03/2007, 11h39
  4. Réponses: 5
    Dernier message: 15/08/2006, 11h40
  5. [POO] Ecrire une classe descendante
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2005, 20h04

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