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

Débats sur le développement - Le Best Of Discussion :

Qui pratique la programmation spontanée ?


Sujet :

Débats sur le développement - Le Best Of

  1. #341
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 83
    Points : 101
    Points
    101
    Par défaut
    Salut !
    Moi je pense qu'un bon code doit être réutilisable et je pense que programmer en objet va dans ce sens.
    Après, je ne suis pas une pro mais je suis sur quelques petits projets persos qui demandent une assez grande rigueur tant au niveau du code que de la présentation du code (indentation, commentaires etc)...
    *Laisse l'Amour enivrer ton âme*

  2. #342
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 46
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par Nahla_India Voir le message
    Salut !
    Moi je pense qu'un bon code doit être réutilisable et je pense que programmer en objet va dans ce sens.
    Après, je ne suis pas une pro mais je suis sur quelques petits projets persos qui demandent une assez grande rigueur tant au niveau du code que de la présentation du code (indentation, commentaires etc)...
    justement, le debat ici porte sur le fait que la rigeur risque de nuire a l'inspiration du programmeur.

  3. #343
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 83
    Points : 101
    Points
    101
    Par défaut
    Merci de la précision Gokud

    De ce point de vue là, je pense que programmation et inspiration peuvent aller de pair. Les programmeurs ne sont pas des machines et doivent pouvoir faire de "belles" choses (efficaces également). La programmation est un art
    *Laisse l'Amour enivrer ton âme*

  4. #344
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Citation Envoyé par gokud-o-matic Voir le message
    justement, le debat ici porte sur le fait que la rigeur risque de nuire a l'inspiration du programmeur.
    S'il s'agit d'un travail d'artiste, qu'est-ce qui empêche un développeur d'adopter un cycle de développement itératif ?...

  5. #345
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par davcha Voir le message
    S'il s'agit d'un travail d'artiste, qu'est-ce qui empêche un développeur d'adopter un cycle de développement itératif ?...
    Un cycle itératif n'est nullement artistique. C'est une méthode qui se veut aussi pleine de rigueur.

  6. #346
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par gokud-o-matic Voir le message
    justement, le debat ici porte sur le fait que la rigeur risque de nuire a l'inspiration du programmeur.
    Sauf qu'il n'y a pas d'inspiration à avoir chez un programmeur. C'est le concepteur qui a besoin d'avoir un peu l'esprit créatif. Le programmeur suit la conception et ne devrait jamais s'autoriser une digression. Il n'a peu ou pas de choix à faire. Si une personne fait les deux (conceptions/programmation) il doit s'évertuer de séparer les deux aspects du travail en évitant de jouer le concepteur lorsqu'il est en train de programmer. Mais même là, le concepteur n'a pas les mains complètement libre car il doit respecter le document de spécification. S'il est certainement celui qui dispose le plus de sa liberté, ce n'est que pour choisir le meilleur outil (architecture, algorithme, interface etc.)

    Si on fait un jouet on peut faire ce qu'on veut, si on fait un travail sérieux la rigueur est nécessaire. Le débat est un faux débat. La créativité du concepteur n'est intéressante que s'il est déjà rigoureux. Sinon c'est l'échec du projet.

  7. #347
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    T'as pas compris.

    Gokud parlait d'inspiration. Que ce soit du concepteur ou du programmeur, ça n'a pas trop d'importance.
    Le principe est que si le travail n'est pas soumis à des délais (j'avais pas trouvé de meilleur terme qu'"artistique" pour qualifier un travail "pour le fun, pour soi-même"), dans ce cas, rien n'empêche de produire une maquette toute pourrie histoire de laisser libre son "inspiration", puis de reprendre et de reprendre, etc....

    bref, un cycle itératif en quelque sorte.

    Ceci dit, vu le dernier paragraphe de ton dernier message sur ce thread, même si j'ai du mal à m'exprimer à 1h30 du matin, on est du même avis.

  8. #348
    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 065
    Points
    32 065
    Par défaut
    Il ya toujours des choix, même dans une architecture précise et pour un résultat fixe.

    quand on demande à un programmeur de faire un module de garnissage , qui a une structure d'entrée déterminée, une structure de sortie determinée, et un garnissage fixé par les spécifications, le résultat exigé est totalement figé par la conception. Pourtant, le programmeur a plien de manières de faire. Il peut suivre les données une par une. Il peut les regrouper par flux. Il peut les regrouper par thématique technique ou fonctionelle.

    Dans ce cas précis, j'avais choisi de suivre le regroupement technique, puis ensuite de suivre l'ordre des données dans la spec. Parceque, dans ce cas précis, ça nous faisait gagner beaucoup de temps(et on avait le feu aux fesses). J'ai eu quelques secondes pour faire ce choix.

    Quand on a tout le temps du monde, on peut tout prévoir, et le programmeur d'est qu'un pousse-bouton. Quand on est préssés(et c'est souvent le cas), alors un minimum de liberté peut, au contraire, faire gagner du temps, à condition que le programmeur soit lui même expérimenté et rigoureux(voire talentueux, mais ça c'est un autre débat). Sur le cas que je cite, en ne suivant pas le regroupement fonctionnel qui m'était préconisé, j'ai divisé le temps prévu de développement par 5. Evidemment, c'est un cas extrême.

    Ce que je veux dire, c'est que tant qu'on respecte :
    1)les entrées sorties telles qu'elles sont définies(dans une équipe de plus de 1, c'est obligatoire)
    2)les specs(quoique signaler des erreurs puisse arriver, mais ça dépend fortement des spécificateurs)
    3)les normes et choix locaux de développement(sur le cas que je cite, on m'avait demandé de tout coller dans un programme existant)

    alors après, sur la mécanique interne, le savoir-faire et l'inspiration du programeur sont utiles.

    Evidemment, si il change la zone d'entrée sortie, ignore les specs et s'assied sur les normes de développement, ça n'est plus un artiste, c'est un saboteur.
    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.

  9. #349
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par davcha Voir le message
    T'as pas compris.

    Gokud parlait d'inspiration. [...]
    Peux-tu me définir ce qu'est l'inspiration ?
    Parce que sinon on parle pour ne rien dire.

    Je pense que c'est un débat creux.

    Citation Envoyé par davcha Voir le message
    Ceci dit, vu le dernier paragraphe de ton dernier message sur ce thread, même si j'ai du mal à m'exprimer à 1h30 du matin, on est du même avis.
    Ah... alors j'aurais compris ?

  10. #350
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 46
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    alors après, sur la mécanique interne, le savoir-faire et l'inspiration du programeur sont utiles.
    mais meme la, la rigueur peut faire une grande difference. la programmation spontannee, que je considere de non-rigoureuse, recquiert un certain talent pour qu'il ne genere pas du code bon a jeter des qu'on veut le retoucher.
    Une des rigueurs que le programmeur spontanne type ne suit pas, pour ce que j'en ai vu au debut de cette discussion, est une documentation approfondie du code. Ils pretendent pouvoir comprendre le code source aussi vite que s'ils lisaient les commentaires explicatifs, et donc ils ne s'embarrassent pas a documenter leur code au dela du strict minimum(entete de champs et methodes publiques). Et c'est deja la que je sais que je ne fais pas(plus) partie des programmeurs spontannes car devoir reprendre un bout de code de ce genre m'enerve tellement(enorme perte de temps a decoder) que je n'ai pas envie d'infliger ca aux autres.

    un autre point que j'ai releve qui determine un programmeur spontanne est qu'il ne modelise pas ce qu'il va faire. C'est un peu du genre a taper du code des qu'il a lu l'enonce du probleme car il a une idee de comment faire dans sa tete. et apres egalement, il ne fait aucune documentation sur la logique de son code(ref. premier point).

    Vous comprendrez donc que je ne suis pas un adepte de la programmation spontannee, surtout apres l'avoir pratique pendant plusieurs annees lorsque j'apprenais la programmation. Personnellement, j'aurais plutot tendance a appeller ca de la programmation immature.

  11. #351
    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 065
    Points
    32 065
    Par défaut
    Citation Envoyé par gokud-o-matic Voir le message
    (.../...)Une des rigueurs que le programmeur spontanne type ne suit pas, pour ce que j'en ai vu au debut de cette discussion, est une documentation approfondie du code. Ils pretendent pouvoir comprendre le code source aussi vite que s'ils lisaient les commentaires explicatifs, et donc ils ne s'embarrassent pas a documenter leur code au dela du strict minimum(entete de champs et methodes publiques). (.../...)
    un autre point que j'ai releve qui determine un programmeur spontanne est qu'il ne modelise pas ce qu'il va faire. C'est un peu du genre a taper du code des qu'il a lu l'enonce du probleme car il a une idee de comment faire dans sa tete. et apres egalement, il ne fait aucune documentation sur la logique de son code(ref. premier point).
    (.../...)
    Sur le premier point, d'accord. Le code doit être lisible, même par un non informaticien. Si je ne suis pas fan de la doc externe(qui a tendance à se perdre), je mets un point d'honneur à faire du code qui se lit aussi facilement que possible. Idéalement, exactement comme la spec(mais c'est pas toujours posible).

    Sur le deuxième point, si on a le talent, on peut. Je connais mes limites à ce niveau-là, mais jusqu'à un certain niveau de complexité(disons 7-8 jours de travail), je sais que je n'ai pas besoin de modélisation. Au delà, il m'en faut. Quelqu'un de meileur que moi pourra très bien intuiter un mois complet de travail..... Par contre, il faut en effet documenter la méthode une fois qu'elle est en place(encore une fois, je fais ça dans le code, les docs papier ont tendance à disparaitre). En celà, je ne suis pas un pur "spontané"
    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.

  12. #352
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 41
    Points
    41
    Par défaut
    Bonjour les amis,

    J'aimais bien me faire des challenges de temps en temps, des chalenges du genre Developper sans aucun schema : Ouvrir IntelliJ et coder comme un malade.

    Mais avec le temps, je me suis rendu compte que ce n'est pas bon, avec programmation spontanné, bugs spontanés, surtout les bugs d'architecture !

    Maintenant, je suis passé à l'autre extreme suite à des problèmes graves avec ma main (RSI) ou le clavier me faisait trop mal : Programmer sur papier, essayer ça c'est vachement bien. Ca consiste en gros à eviter de reflechir face à l'écran, passer le max de temps face à un cahier, jusqu'à mettre les méthodes, l'algo, ... Se mettre face à l'écran pour écrire.

    Et depuis, j'ai remarqué que je maitrise beaucoup mieux mon code, et j'ai moins de problèmes, surtout qu'actuellement je travaille sur la couche de Securité d'un projet refonte, face du code spontané dans la Securité est tout simplement suicidaire !

  13. #353
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    je pratique surtout la programmation spontanée.
    je la fait facilement car je connait bien les mecanismes de l'asm.
    il m'est arrivé de faire des codes de plusieurs milliers de lignes en une seule passe sans le moindre bout de papier.
    mais quand on veu faire un gros programme utils, il faut evidement faire des specifications avant de coder.
    c'est ce que je fait pour les fonctiosn archi compliquées et les gros programmes de plusieurs dixaines de milliers de lignes.
    en plus, les milliers de lignes ne sont pas dans un seul fichier, elles sont coupées en blocs et enregistrées dans des includes.
    mais je ne suis pas un pro, je n'ai pas encore gagné le moindre centime avec mes codes.
    donc, je doit etre dans l'erreur.

  14. #354
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par edfed Voir le message
    je pratique surtout la programmation spontanée.[...]
    donc, je doit etre dans l'erreur.
    D'un côté j'allais te dire que t'es complètement à côté de la plaque et que s'il y a bien un langage où il faut faire beaucoup de papiers avant c'est ASM.
    Grosso modo, on pourrait dire que plus le langage permet de manipuler des abstractions, plus il s'approche lui-même de la conception; on peut donc réduire les étapes.

    Maintenant t'as l'air d'être clairvoyant et lucide... alors je dirais que c'est bien. Au moins tu sais que tu sais peu (plutôt que rien) et c'est déjà excellent

  15. #355
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    D'un côté j'allais te dire que t'es complètement à côté de la plaque et que s'il y a bien un langage où il faut faire beaucoup de papiers avant c'est ASM.
    Et être son propre client est parfois plus simple, donc on a plus tendance à se satisfaire d'un truc qui marche juste pour nos besoins.
    Je ne répondrai à aucune question technique en privé

  16. #356
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 46
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par millie Voir le message
    Et être son propre client est parfois plus simple, donc on a plus tendance à se satisfaire d'un truc qui marche juste pour nos besoins.
    C'est malheureusement une expérience très difficile à faire valoir dans un entretien. L'ère des "vrais Programmeurs" est révolue. Il ne faut plus seulement être efficace mais aussi efficient. Et la programmation spontanée n'est qu'efficace.

  17. #357
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par gokud-o-matic Voir le message
    Il ne faut plus seulement être efficace mais aussi efficient.
    J'espère que tu es conscient qu'efficient dans le sens où tu l'utilises, est un anglicisme qui signifie « efficace »?

    Sinon il existe effectivement un terme français « efficient » mais il est de nature philosophique.

    Autre chose: que veux dire « vrais programmeurs » ?? hacker (dans le sens originel anglais) ?

  18. #358
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par millie Voir le message
    Et être son propre client est parfois plus simple, donc on a plus tendance à se satisfaire d'un truc qui marche juste pour nos besoins.
    Pire, on modifie les besoins en cours de route pour les soumettre aux problèmes rencontrés. Très mauvaise habitude.

  19. #359
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    une theorie, si le papier est dans la tete, c'est à dire que la memoire du programmeur c'est deja chargée de toute la definition du probleme, est ce de la programmation spontanée?

    perso, je visualise d'abord l'algorythme avant de coder.
    et, au fur et à mesure, je corrige les erreurs en fonction des bugs.

    mais j'essaye de me passer de papier pour ne pas polluer.
    car le papier, ça genere de la polution.

    les entreprises ne s'en soucient pas et obligent les developeurs a generer des documents papier. c'est domage.

  20. #360
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par edfed Voir le message
    les entreprises ne s'en soucient pas et obligent les developeurs a generer des documents papier. c'est domage.

    Comme bien maintenir une application qui se développe sur 20 ans avec plusieurs langages par toute une génération de développeur sans document ?
    Je ne répondrai à aucune question technique en privé

Discussions similaires

  1. Logiciel qui permet de programmer en Fortran ?
    Par lesvacances dans le forum Fortran
    Réponses: 2
    Dernier message: 05/11/2007, 21h53
  2. Tutorial bonne pratique du programmation avec JAVA
    Par menzlitsh dans le forum Langage
    Réponses: 10
    Dernier message: 02/07/2007, 11h56
  3. Script Shell qui lance un programme sur un ordi distant avec SSH
    Par bilibou dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 02/06/2007, 11h18
  4. Erreur qui bloque mon programme
    Par bugland dans le forum Langage
    Réponses: 6
    Dernier message: 21/12/2006, 22h32
  5. Réponses: 19
    Dernier message: 26/12/2005, 01h04

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