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

Langages de programmation Discussion :

La réutilisation dans la POO et ses limitations actuelles


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Par défaut COP - Composite Oriented Programming
    La POO nous a promis la réutilisation mais comme expliqué plus haut par d'autres membres, beaucoup d'obstacles existent.

    Depuis plus de 5 ans je suis tombé dans la programmation orientée composite, COP.
    Ceci va au delà de la POO et nécessite que le langage utilisé propose certaines fonctionnalités et de la rigueur du développeur.

    C# et Scala sont de bons candidats mais le cadre reste flou.

    Pour Java il y a Qi4j qui apporte une programmation orientée composite très complète : http://qi4j.org/

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 863
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 863
    Par défaut
    Citation Envoyé par eskatos Voir le message
    Depuis plus de 5 ans je suis tombé dans la programmation orientée composite, COP.
    Tiens un truc à regarder

    J'avais déjà du mal avec la POA (Programmation Orientée Aspect)

  3. #3
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Citation Envoyé par eskatos Voir le message
    Pour Java il y a Qi4j qui apporte une programmation orientée composite très complète : http://qi4j.org/
    De ce que je comprends il ne s'agit que de mixins ? Qui sont effectivement une très bonne chose mais de là à créer un nouveau terme...

  4. #4
    Inactif  

    Homme Profil pro
    Écrivain public, Économiste et Programmeur Free Pascal
    Inscrit en
    Août 2005
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Écrivain public, Économiste et Programmeur Free Pascal
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 349
    Billets dans le blog
    40
    Par défaut Les outils RAD
    Les outils RAD améliorent le polymorphisme de la POO.
    Il faut éviter les copiés-collés, mais pour les éviter il faut connaître l'évolution, la structure et l'objectif des composants, ce qu'on ne m'a jamais expliqué.

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Par défaut
    L'abus de réuse... ça fait des kangourous tueurs!

  6. #6
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Citation Envoyé par Carhiboux Voir le message
    L'abus de réuse... ça fait des kangourous tueurs!
    En même temps, c'est clair que conceptuellement parlant, un kangourou est tout naturellement une sous-classe de soldat d'infanterie.

    Il y a plusieurs années de cela, j'avais eu une question similaire lors d'un entretien d'embauche (une question piège où le candidat est tenté de dériver une classe qui n'a conceptuellement rien à voir, juste pour pouvoir réutiliser certaines propriétés et méthodes). Visiblement, j'étais le seul à ne pas tomber dans le panneau (comme quoi ces histoires de réutilisabilité par simple héritage + polymorphisme, ça entraine des raisonnements bizarres chez pas mal de monde, que ce soit en France, en Australie ou ailleurs...). Finalement j'ai signé chez une autre compagnie où le projet me paraissait beaucoup plus intéressant (et puis j'avais pas envie de travailler pour une SSII française qui promet monts et merveilles mais où c'est jamais suivi des faits).
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  7. #7
    Membre chevronné
    Profil pro
    à la bougie alors
    Inscrit en
    Mai 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : à la bougie alors

    Informations forums :
    Inscription : Mai 2006
    Messages : 224
    Par défaut
    Citation Envoyé par pcaboche Voir le message
    En même temps, c'est clair que conceptuellement parlant, un kangourou est tout naturellement une sous-classe de soldat d'infanterie.
    Logiquement parlant, la conclusion est un peu rapide.

    Dans la présentation faite, on sait que les kangourous sont neutres : ils ne sont pas la cible des hélicoptères. Donc, dans ce cas, même en tant que soldat d'infanterie, ils n'avaient aucune raison d'ouvrir le feu.

    Avant de conclure, il nous faut donc nous poser la question : pourquoi ont ils tiré ?!

    Il semble évident dés lors, que l'erreur n'est nécessairement pas d'avoir sous-classé le soldat d'infanterie, mais plutot d'en avoir fait un ennemi.
    Il faut se méfier des a priori, qui sait jusqu'où peut aller un kangourou bien énervé.

  8. #8
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Par défaut
    Citation Envoyé par lysandro Voir le message
    Logiquement parlant, la conclusion est un peu rapide.

    Dans la présentation faite, on sait que les kangourous sont neutres : ils ne sont pas la cible des hélicoptères. Donc, dans ce cas, même en tant que soldat d'infanterie, ils n'avaient aucune raison d'ouvrir le feu.

    Avant de conclure, il nous faut donc nous poser la question : pourquoi ont ils tiré ?!

    Il semble évident dés lors, que l'erreur n'est nécessairement pas d'avoir sous-classé le soldat d'infanterie, mais plutot d'en avoir fait un ennemi.
    Il faut se méfier des a priori, qui sait jusqu'où peut aller un kangourou bien énervé.
    La logique aurait plutôt été :

    Être vivant => Humain => Soldat
    Être vivant => Animal => Kangourou

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 419
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 266
    Par défaut Réutilisabilité et mise à la poubelle de l'ingénieur
    Bonjour,

    Effectivement la réutilisabilité du code demande une abstraction technique assez poussée mais génère des programmes fiables dans le temps et améliore ensuite significativement le cycle de vie d'une application.

    Mais cela demande un petit investissement supplémentaire en temps et dans des personnes compétentes : nos chères Sociétés françaises voient à très court terme. Faire du code réutilisable est donc souvent mal vu et peut couter la place de son auteur qui soit disant travaille un peu moins vite, maîtrise trop bien le code (ça c'est pour le chef jaloux qui en sait moins sur le code que vous), ne fait pas comme les autres (ça c'est pour l'équipe qui brille une médaille auprès du chef jaloux à coup de : je travaille plus vite avec la commande copier-coller)...

    Pauvre France.

    S'il vous plait : codez correctement, rehaussez le niveau de l'ingénierie. C'est simple, ce type de billet ne devrait pas avoir lieu d'être si tout le monde travaillait correctement. Mais ça c'est une utopie.

  11. #11
    Nouveau candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 3
    Par défaut
    La POO est un rêve merveilleux qui ne peut se réaliser que dans des conditions nord-coréennes, associées au taylorisme le plus rigoureux. Il faut une discipline de fer et un "gardien" des objets omniscient, omnipotent et impitoyable pour que ça marche.

  12. #12
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,
    Citation Envoyé par helicene13 Voir le message
    Il faut une discipline de fer et un "gardien" des objets omniscient, omnipotent et impitoyable pour que ça marche.
    +1

    Et c'est son boulot si il est chef de projet. En tous les cas c'est celui du responsable technique (quand y'en a un). A mon avis, Scott Westfall devrait se remettre en question.
    "Winter is coming" (ma nouvelle page d'accueil)

  13. #13
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 229
    Billets dans le blog
    17
    Par défaut
    Ca dépend des projets: pour nos batchs on a réussi à capitaliser un maximum en créant des composants utilisés par tous

    Pour le web, certains frameworks proposent une logique plus ou moins DRY permettant de capitaliser

    Personnellement, dernièrement je viens d'ajouter au téléchargement un module générique à customiser pour ses besoins pour pouvoir réutiliser et ainsi capitaliser sur la conception de tableau,: http://mkframework.com/telechargerModule_table.html
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  14. #14
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Par défaut
    Citation Envoyé par Arsene Newman Voir le message

    « Il n’est pas rare de découvrir que plusieurs personnes au sein de votre équipe ont codé essentiellement la même fonctionnalité. Clairement, cela illustre un manque de réutilisation de code efficace ». C’est en ces termes que s’est prononcé Westfall. Mais qu’en est-il réellement de la réutilisation de code ?
    Aux premiers abords, ce concept désigne la réutilisation de code, de classes et des modèles de conception existants au lieu d’en créer des nouveaux. Mais, pour Westfall c’est plus que cela : « Il s’agit plus de l’efficacité du code que de l’efficacité de la programmation ».

    Que pensez-vous de la réutilisation en POO ?

    Faites-vous souvent appel à la réutilisation en POO ?
    Je n'ai pas tout lu désolé, mais pour le peu que j'ai lu, j'ai l'impression que l'on confond beaucoup réutilisation et réutilisabilité. Egalement je suis étonné qu'on ne parle pas des bonnes pratiques de l'OO, commes les principes SOLID, qui s'ils sont bien respectés offrent une très bonne réutilisabilité.

    En effet, je suis d'accord sur le fait que la réutilisation du code réutilisable est assez rare malheureusement. Mais ceci n'est pas une limite de l'OO, c'est une limite humaine, surement liée au fait que les personnes qui font l'organisation d'une entreprises n'ont pas la moindre idée de cet aspect là et de son importance, et ne l'incluent donc pas dans leur façon de concevoir les process.

    Je suis sur que si on prend même deux projets CMMI5, le second ne tiendra pas compte du code réutilisable dans le premier, et là, est le souci.

    La POO quand elle est bien pratiquée offre réellement une réutilisabilité, une flexibilité, et une robustesse logique et conceptuelle indéniable.

  15. #15
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Par défaut
    Bonsoir,

    Beaucoup, trop utilise le clavier avant la tête. (moi le premier )

    Donc à la question, faut-il réutiliser son cerveau dans la POO et ses limitations ?

    Certes, il faut savoir quels classes existent. Lire les documentations et les faire vivre.
    Ensuite, voir pour simplifier la codification selon ses besoins en interfaçant les codes les plus aboutit.
    Mode bac a sable, étude de faisabilité. Pour cela, il faut analyser de manière algorithmique et séquentiel les projets dans leurs ensembles.
    En déduire, les éléments qui composent le projet. Vérifier l’existence des dits éléments dans les projets voisin.
    Organiser des réunion. Programmer la deadline. Et faire référence à Cahier des Charges (type AFNOR)

    Exemple existant :
    Une équipe 3 personnes développent un gestionnaire de liste
    Une équipe 3 personnes développent un gestionnaire annuaire

    Quel différence entre une liste et un annuaire ?

    Conclusion, le problème n’incombe pas au développeur lui-même. Mais au(x) gestionnaire(s) de projet(s).

    Iwoks.

Discussions similaires

  1. Réponses: 27
    Dernier message: 19/09/2006, 10h51
  2. Valeur des formulaire réutilisées dans des requètes SQL.
    Par cotmar dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/05/2006, 11h16
  3. Notion de réutilisation dans la programmation
    Par housni dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 04/04/2006, 16h09
  4. Réponses: 4
    Dernier message: 15/03/2006, 12h22
  5. Réponses: 5
    Dernier message: 27/11/2005, 23h07

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