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 :

[sbadecoder a dit].. C'est quoi pour vous un beau programme?


Sujet :

Langages de programmation

  1. #1
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut [sbadecoder a dit].. C'est quoi pour vous un beau programme?
    Citation Envoyé par sbadecoder
    Une belle fonction contient au plus 7 lignes de code,
    Une belle procédure appelle au plus 7 fonctions,
    Un beau programme est lisible et compréhensible,
    Dans tous les autres cas, une optimisation s'impose.
    Et pour vous c'est quoi un "beau programme"

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    mmh... un programme
    compréhensible
    documenté
    facilement modifiable/étendu (ce qui implique une bonne analyse ou tout du mon un découpage en classe bien fait)

    et évidemment qui ne plante pas (ou pas beaucoup on va dire )

    je concidère aussi de plus en plus qu'un programme facilement utilisable par l'utilisateur est une bonne définition
    en effet... au final c'est pour lui que l'on fait le programme
    et dérivé de ça, un programme joli à voir: quelques icones 256 couleurs me suffisent (par moment on tombe sur des horreurs dignes de win3.11)
    [Sig removed by Admin: Total file size of all images in sig may not exceed 20 TB]

  3. #3
    Membre habitué Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Points : 170
    Points
    170
    Par défaut
    je ne suis pas un pro du programme commercialisé,
    des notions de clientèles ... etc ...
    Mais pour pour moi, il ne faut pas confondre programme et
    interface utilisateur.
    Une belle interface utilisateur, facile d'utilisation, agréable,
    conviviale ... pour moi, c'est du décorum !
    Un décorum essentiel, indispensable, d'accord ... mais c'est de l'enballage.
    Et dans un bel enballage, on peut mettre ce que l'on veut, meme une m...
    Pour moi, un beau programme, c'est avant tout des algorithmes
    bien pensés, efficaces, optimisés.
    Il n'y a qu'un informaticien qui pourra juger de la beauté d'un programme.
    Pas un utilisateur ! ... au sens ou moi je l'entends.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Je suis d'accord avec Ruby: seul un informaticien peut juger de la beauté d'un programme parceque pour moi une beau programme est avant tout un programme agréable à lire et qui réalise chacune de ses fonctions avec élégance (pas de calculs inutiles, noms de variables bien choisis, etc...)
    Un beau programme c'est comme une oeuvre d'art, dans le sens où l'on est admiratif devant l'auteur de l'oeuvre parce qu'il a fait une chose mieux que quiconque.
    enfin bon, c'est mon avis...

  5. #5
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    Salut,

    tout a fait d'accord avec Robby, il ne faut pas confondre interface utilisateur et algorithmes. Meme si la qualite de l'interface est quand meme necessaire, c'est le premier contact qu'on a avec le prog, en general.

    Par contre, un beau programme n'est pas forcement un monstre d'optimisation, mais plutot un programme bien organise, et que l'oin peut etendre facilement (cf O-ERON). C'est quand on rentre facilement dans un code qu'on apprecie le travail du programmeur. Et en general, plus on optimise, moins c'est comprehensible. Le programme optimise a l'extreme s'ecrit d'ailleurs en assembleur ...

    pour resumer,
    bon programme = comprehensible + extensible

    A

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    je suis à moitié d'accord avec vous, c'est souvent cette erreur que commettent tous les developpeurs, ce n'est pas au developpeur de definir les algorithmes, les implenter oui, mais pas les definir, ça c'est au responsable fonctionnel, celui qui maitrise le domaine de l'outil, trop de logiciel sont "beau" pour le developpeur, et sont des m**** pour l'utilisateur simplement parce que le developpeur ne se soucie pas de l'utilisateur.

    Dites vous bien que la chose la plus importante dans un programme c'est le domaine fonctionnel et comment il est implémenté.

    Moi je ne me soucis pas de savoir comment fonctionne ma voiture, tout ce que je veux c'est qu'elle demarre quand je tourne la clé, qu'elle aille à droite quand je tourne le volant à droite, peut m'importe de savoir si c'est un moteur à rampe commune ou pas.

    L'informatique c'est pareil, ok vous voulez vous faire plaisir et faire un joli programme, tout en fonction, ou tout en objet avec methodes et procedures, pas de soucis, mais n'oubliez jamais que c'est l'utilisateur qui doit etre le premier satisfait pas vous.

    C'est à cause de ce genre d'oubli qu'un programme disparait.

    donc pour moi un meilleur programme c'est celui qui
    satisfait l'utilisateur
    me satisfait

  7. #7
    Membre éprouvé
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Points : 1 246
    Points
    1 246
    Par défaut
    L'ihm peut avoir beaucoup d'importance si elle est conçue dans un but pédagogique pour présenter le problème à résoudre par le logiciel.
    Un programme est un tout et je suis d'accord avec goshiz

  8. #8
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par c-top
    L'ihm peut avoir beaucoup d'importance si elle est conçue dans un but pédagogique pour présenter le problème à résoudre par le logiciel.
    Un programme est un tout et je suis d'accord avec goshiz
    Un tout, m'ouais pas tout a fait d'accord en tout cas en client/serveur
    Je n'emploierais pas ces termes dans ce cas.personnellement je travaille sur des ihm et j'essais tjrs au maximum de separer l'aspect interface et le code declenche,aussi bien au niveau du code que de la conception.pour moi il doivent etre le + indepenfdant possible pour permettre une meilleur maintenance et evolution,pour le reste je suis d'accord mais a mes yeux c'est pas le meme "programme" plutot le meme "projet" peut etre que certain trouveront que je joue sur les mots,mais comme on doit pouvoir developper les deux presque separement....

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Perso, je crois que le developpeur juge de la beauté du code (Un "beau" programme est un programme qui se documente de lui même et qui est lisible (très peu de ligne par procédure). j'entends par se documente lui même que les noms de fonctions et procédure indiquent clairement ce qu'elles veulent dire. une fonction sauve un client au format xml, et bien elle s'appelle SaveClientToXml et pas sctxml! de mon point de vue, mes amis et collègues qui utilisent mes objets ne lisent pas mon code, ils s'en foutent de savoir comment ca marche, tant que ca marche et qu'ils trouvent facilement la fonction à utiliser.)

    Et l'utilisateur juge la qualité du résultat cad si le programme est bon!

    ps:Je vous rassure : mes codes sont plus lisibles que mes mails

  10. #10
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 217
    Points : 242
    Points
    242
    Par défaut
    Perso je suis un novice en la matiere (mais ca m'empeche pas de trouver un programme beau qui pour moi est :
    -évidemment un programme agréable à utiliser (interface, saisie des données, prise en main facile)
    -Mais aussi au niveau code (organisé et compact, fonctions et variables ingénieuses)
    -Qu'on a eu du mal a faire

  11. #11
    Membre habitué
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 114
    Points : 156
    Points
    156
    Par défaut
    Tout ici n'est question que de vocabulaire...
    La définition d'un beau programme dépend aussi de l'utilisation qu'il en est prévu. Dans le cas d'un soft livré à un client, un programme est "beau" s'il répond à toute les éxigneces clients, et s'il est facile à maintenir.
    Si c'est un programme fait pour soi, on le trouvera beau comme dit Sékiltoyai si on a eu du mal à le faire (en fait ça reviens à dire qu'il répond à nos éxigences...).

    Je dirai donc que pour moi un beau programme répond aux éxigences, est facile à modifier, ne contient pas de fioritures inutiles et rend utilisateur et créateur heureux (si c'est possible d'avoir les 2 heureux ensemble : )

  12. #12
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Un beau programme : voilà ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    qsort []     = [] 
    qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x 
                     where 
                       elts_lt_x   = &#91;y | y <- xs, y < x&#93; 
                       elts_greq_x = &#91;y | y <- xs, y >= x&#93;
    C'est le quick sort en Haskell. C'est pas joli ? En 5 lignes c'est baclé.
    8 lignes pour le CAML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    let rec tri = function 
    &#91;&#93;->&#91;&#93; 
    |x&#58;&#58;l-> 
       let rec inflist = function 
       &#91;&#93;->&#91;&#93;|y&#58;&#58;m-> let suite = inflist m in if y < x then y&#58;&#58;suite else suite 
       in let rec suplist = function 
       &#91;&#93;->&#91;&#93;|y&#58;&#58;m-> let suite = suplist m in if y >= x then y&#58;&#58;suite else suite 
    in &#40;tri&#40;inflist l&#41;&#41; @ &#91;x&#93; @ &#40;tri&#40;suplist l&#41;&#41;;;
    Pour moi un beau code c'est un code puissant : c'est à dire qui faitle plus de choses possibles en un minimum de code.
    Tom

  13. #13
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Pour moi un beau code c'est:

    -Bien organisé au niveau des classes et fonctions (mais ça c'est plus de l'analyse que du code)

    -Bien rangé (mes fonctions elles sont là, mes classes là, vu trop de progs avec un fonction ecrite en plein milieu parce que tout a coup on en a besoin)

    -Bien indenté pour etre lisible
    Là je suis meme pour aovir plus de lignes bien rangées, que moins de lignes pas trop lisibles, ça à l'air bête mais personellement je prefere ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function mafonction&#40;&#41;
    	&#123;
    	traitement;
    	traitement;
    	&#125;//fin mafonction
    plutôt que ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function mafonction&#40;&#41;&#123;
    traitement;
    traitement;&#125;
    -Un code qui utilise les fonctions de façon intelligente: Exemple une mode en PHP en ce moment consiste à utilise les expressions regulières a tout bout de champ, une expression regulière pour faire un substring de 3 caractères dans une chaînes c'est un bazooka pour ecraser une mouche.

  14. #14
    Membre actif
    Étudiant
    Inscrit en
    Février 2004
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 193
    Points : 246
    Points
    246
    Par défaut
    Pour ma part, un bon programme doit savoir allier une facilité d'utilisation avec une conception (et une réalisation) de qualité.
    Je pense que c'est indissociable.

    J'ai souvent vu des programmes bien conceptualisés, mais avec une interface tellement horrible et mal fichue qu'au final on utilise un logiciel moins performant mais plus simple d'utilisation.

    Je pense donc que faut savoir allier les deux.

    mais en tant qu'informaticien, j'aime les programmes bien pensé, bien étudiés qui soit facile à lire et à comprendre.
    J'aime aussi et surtout qu'il soit évolutif, simple à retravailler.
    Il est très agréable (surtout en objet) de pouvoir réutiliser des packages développés pour des programmes spécifique mais avec une approche généraliste afin de permettre la réutilisation !

    Je ne supporte pas les programmes peu commentés, ou fait à l'arrache (bon parfois, ya pas tellement le choix). Quand je développe, je me force toujours de faire comme si quelqu'un allait toujours reprendre mon travail derrière, même si je sais que ce n'est pas le cas ...
    Java/J2EE, PHP, ASP.NET

  15. #15
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par djibxav
    Bien organisé au niveau des classes et fonctions (mais ça c'est plus de l'analyse que du code)
    Ca c'est valable que quand tu codes en langage objet naturellement

    Mais je suis d'accord. Pour l'indentation et les commentaires d'ailleurs.
    Moi l'indentation en C/C++ je préfère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function mafonction&#40;&#41; 
    &#123; 
       traitement; 
       traitement; 
    &#125;
    Ca me permet de localiser plus facilement le début et la fin.
    Tom

Discussions similaires

  1. Réponses: 50
    Dernier message: 14/08/2014, 13h57
  2. Ce forum est fait pour vous
    Par fafabzh6 dans le forum Contribuez
    Réponses: 0
    Dernier message: 14/05/2009, 15h25
  3. Qu'est-ce pour vous qu'un informaticien compétent ?
    Par cedhers dans le forum Emploi
    Réponses: 19
    Dernier message: 18/01/2007, 11h12
  4. c'est quoi pour vous un "référentiel d'entreprise"
    Par toshiro dans le forum Schéma
    Réponses: 5
    Dernier message: 07/04/2006, 11h56
  5. Développeur Fonctionnel pour vous c'est quoi ?
    Par petit_skarab dans le forum Structure
    Réponses: 1
    Dernier message: 22/04/2005, 16h31

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