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 :

Coder proprement en général


Sujet :

Langages de programmation

  1. #81
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    bref, sur ce point des appellations, pour Zartan (et Tommy31 ci-dessus) :

    cela revient à ce que je disais ailleurs par rapport à l'objet / procédural : ce qui est compréhensible quelle que soit la génération du programmeur c'est la description de la fonctionalité. PAS de l'objet particulier (à moins qu'il ne soit très clair et traversant les ages : "Poste", "Message", "Client", ...) ou du terme technique, qui la plupart du temps est "local", "ponctuel dans le temps" (à moins là encore que ce ne soit très clair ou traversant les ages : "scie", "avion", "moyen de transport", ..).

    Imaginez une modélisation objet faite en 1975 dont l'objet central serait "Card" (pour dire "punching card", les cartes perforées disponibles à l'époque). Pour 99.99% des gens d'aujourdhui, personne ne comprendrait de quoi il s'agit .. Cela ne serait pas rattaché à une fonctionalité ou objet identifiable par n'importe qui. Juste pour ceux qui , à l'époque, fonctionnaient avec ce système et ce vocabulaire....

    De la même manière, le mot "Toile", ou "embarqué", qui aujourdhui ont un sens, n'en avaient pas il y a 15 ans, et n'en auront vraisemblablement plus dans 15 ans...

    Et je ne parle même pas de termes "de modes techniques", comme ce fameux "capcha", "sms", ou autres, qui sont particulièrement liés à une époque et une technologie...

    Bref, Zartan, ton exemple est mauvais
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  2. #82
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    cela revient à ce que je disais ailleurs par rapport à l'objet / procédural : ce qui est compréhensible quelle que soit la génération du programmeur c'est la description de la fonctionalité.
    Je ne vois pas comment il est possible d'exprimer une fonctionnalité sans puiser dans le vocabulaire thématique ou métier du domaine. Surtout dans un processus d'ingénierie des exigences où le client (celui qui formule) est parti prenante.

    Citation Envoyé par souviron34 Voir le message
    Imaginez une modélisation objet faite en 1975 dont l'objet central serait "Card" (pour dire "punching card", les cartes perforées disponibles à l'époque). Pour 99.99% des gens d'aujourdhui, personne ne comprendrait de quoi il s'agit .. Cela ne serait pas rattaché à une fonctionalité ou objet identifiable par n'importe qui. Juste pour ceux qui , à l'époque, fonctionnaient avec ce système et ce vocabulaire....
    Toujours cette sempiternelle diatribe à l'encontre de l'objet. Le problème soulevé dépasse les paradigmes. Comment nommerais-tu tes structures de données en procédural ?

    Note que je partage ton point de vue sur la primauté de la fonctionnalité sur le nommage des choses, mais pas sur ton attitude jusqu'au boutiste.

  3. #83
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Tommy31 Voir le message
    Je ne vois pas comment il est possible d'exprimer une fonctionnalité sans puiser dans le vocabulaire thématique ou métier du domaine. Surtout dans un processus d'ingénierie des exigences où le client (celui qui formule) est parti prenante.



    Toujours cette sempiternelle diatribe à l'encontre de l'objet. Le problème soulevé dépasse les paradigmes. Comment nommerais-tu tes structures de données en procédural ?

    Note que je partage ton point de vue sur la primauté de la fonctionnalité sur le nommage des choses, mais pas sur ton attitude jusqu'au boutiste.
    non, je ne suis pas contre l'objet, je suis contre la religion de l'objet..

    Quant au vocabulaire, je driais juste que justement, ce que je souligne c'est a contraire l'usage de vocabulaire thématique du métier ou domaine, mais pas de la mode ou d'un raccourci de mode....
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  4. #84
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 133
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Bref, Zartan, ton exemple est mauvais
    Absolument pas, car je n'ai pas besoin de savoir ce qu'est un captcha pour gérer mes bases de données avec Zf.

    Et si ça me démange de savoir ce que c'est, je n'ai qu'à consulter la documentation
    http://framework.zend.com/manual/fr/zend.captcha.html

    L'objet ça permet surtout la réutilisabilité, ce qui est bien pratique car on a pas à réinventer la roue à chaque fois.

  5. #85
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par Zartan Voir le message
    Absolument pas, car je n'ai pas besoin de savoir ce qu'est un captcha pour gérer mes bases de données avec Zf.

    Et si ça me démange de savoir ce que c'est, je n'ai qu'à consulter la documentation :p

    http://framework.zend.com/manual/fr/zend.captcha.html
    .....et c'est là que je proclame Souviron vainqueur par KO technique. Ah zut, je suis pas arbitre. Mais zend existera encore dans 15 ans? La doc en ligne sera encore trouvable? Tu te focalises sur ta petite personne, là ou Souviron parle de maintenabilité de l'application, y compris longtemps après ton décès(que je te souhaites le plus tardif possible).

    Évidemment, toi, tu n'as pas à te poser la question, tu nages dedans. Mais le successeur de ton successeur, quand on ira lui demander de faire évoluer ce vieux programme que personne n'a touché depuis 5 ans et qui date de la décennie précédente, voire de celle d'avant(cas pas d'école du tout, c'est ce que j'ai fait il y a 2 semaines), eh bien il s'arrachera les cheveux.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  6. #86
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 133
    Points : 169
    Points
    169
    Par défaut
    C'est comme si tu me disais que je ne peux pas utiliser printf() parce que je ne sais pas ce que fait sqrt().

    Le Captcha n'était pas dans mon exemple, uniquement dans l'arborescence des répertoires.

    Mais le successeur de ton successeur, quand on ira lui demander de faire évoluer ce vieux programme que personne n'a touché depuis 5 ans et qui date de la décennie précédente, voire de celle d'avant(cas pas d'école du tout, c'est ce que j'ai fait il y a 2 semaines), eh bien il s'arrachera les cheveux.
    Au moins il lui en restera quelques un, qu'il perdrait en maintenant un source de 20 000 lignes dont il n'aura pas plus la documentation. Et j'ajouterai que si la doc a été perdue quelque part le boulot n'a pas été fait correctement.

    De plus c'est injuste on peut régénérer une partie de la documentation avec phpdoc

    En gros défendre ce point de vue ça correspond à défendre le SMS par rapport à une expression écrite correcte sous prétexte qu'on a des contraintes de temps. On parle d'écrire des sources propres pas en termes d'efficacité. Et d'ailleurs l'efficacité est au rendez-vous en terme de maintenabilité quand c'est écrit correctement. Une documentation correcte en fait partie.

    Tout ce que j'entends dans ce fil c'est que quand on est obligé de maintenir des programmes non documentés/mal écrits/mal interfacés avec des contraintes de temps et d'efficacité on est obligé d'y aller au sabre. Je suis bien d'accord avec ça, mais ça ne produit pas pour autant des sources propres.

    Et pour info voici la doc du C64 Basic, qui aura bientôt 30 ans : http://www.infinite-loop.at/Power64/...C64_BASIC.html

  7. #87
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Zartan Voir le message
    C'est comme si tu me disais que je ne peux pas utiliser printf() parce que je ne sais pas ce que fait sqrt().
    Non parce que ce sont des fonctions de base d'un langage qui, vu son ancienneté et son utilisation de masse, sera encore utilisé dans longtemps...



    Citation Envoyé par Zartan Voir le message
    De plus c'est injuste on peut régénérer une partie de la documentation avec phpdoc
    Ce qui présuppose :

    1. que ton programme soit en PHP
    2. que phpdoc existe toujours


    2 assertions qui sortent entièrement du cadre de ce débat..



    Citation Envoyé par Zartan Voir le message
    Tout ce que j'entends dans ce fil c'est que quand on est obligé de maintenir des programmes non documentés/mal écrits/mal interfacés avec des contraintes de temps et d'efficacité on est obligé d'y aller au sabre. Je suis bien d'accord avec ça, mais ça ne produit pas pour autant des sources propres.
    Non, ce que tu entends ici, c'est que la notion de "code propre" n'a rien à voir avec le fait de "programmer objet" (alors que tu l'as mentionné (post #35 et suivants)), ni avec le fait d'avoir des centaines de petits fichiers et non un gros...

    Mais que appliquer une règle aussi absurde que "on ne doit pas avoir de fichiers de plus de 50 lignes" est une aberration technocratique, et que il arrive qu'il soit bien plus facile de maintenir un code mis dans des très gros fichiers que dispersé dans des centaines de fichiers...



    Voilà..

    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  8. #88
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 133
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Ce qui présuppose :

    1. que ton programme soit en PHP
    2. que phpdoc existe toujours
    Zf est écrit en php et phpdoc fait partie de l'installation standard de php, de plus dans le source de zf tout est en place pour générer la doc.

    2 assertions qui sortent entièrement du cadre de ce débat..
    Absolument pas Zf est un exemple de code propre et Dieu sait que PHP peut être très désagréable à lire.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Non, ce que tu entends ici, c'est que la notion de "code propre" n'a rien à voir avec le fait de "programmer objet" (alors que tu l'as mentionné (post #35 et suivants)), ni avec le fait d'avoir des centaines de petits fichiers et non un gros...
    Tout ce que j'entend c'est qu'en programmant objet correctement on réduit la taille de ses sources de manière considérable, la réutilisabilité étant le concept clef, et donc forcément on augmente la lisibilité.

    Mais que appliquer une règle aussi absurde que "on ne doit pas avoir de fichiers de plus de 50 lignes" est une aberration technocratique, et que il arrive qu'il soit bien plus facile de maintenir un code mis dans des très gros fichiers que dispersé dans des centaines de fichiers...
    50 lignes serait absurde en effet, j'ai dit 500 et en aucun cas je n'ai affirmé que c'était une règle mais un objectif.

    C'est plus facile pour son auteur à condition qu'il ne fasse que cela mais pour un travail d'équipe les choses sont différentes, sinon les grands projets open source n'auraient que des fichiers de 20000 lignes et non 500 en moyenne comme on l'a vu et ce, non par un effet de mode, mais par souci d'efficacité.

  9. #89
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Mais zend existera encore dans 15 ans?
    Probablement pas, mais cet argument vaut pour un ensemble de choses tellement vaste, que le vocabulaire des termes durables se résumerait à trois fois rien.

    Citation Envoyé par el_slapper Voir le message
    La doc en ligne sera encore trouvable?
    Des projets comme celui-ci pourraient offrir une pérennisation documentaire.

Discussions similaires

  1. Critique de l'ouvrage "Coder proprement" de Robert C. Martin
    Par sjrd dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 27/11/2012, 11h31
  2. Coder proprement ?
    Par Altenide dans le forum Débats sur le développement - Le Best Of
    Réponses: 15
    Dernier message: 02/04/2011, 13h12
  3. Coder proprement un fichier de config
    Par dedis dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 30/04/2010, 15h11
  4. Coder proprement et standarment
    Par ploop dans le forum Général Python
    Réponses: 2
    Dernier message: 26/04/2007, 08h57

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