|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Développeur Ruby on Rails / iOS et journaliste Inscription : juin 2010 Messages : 1 101 ![]() |
Coder rapidement ou écrire du code de qualité ?
Les deux approches reviennent au même, selon un célèbre web-bédéiste XKCD est une célèbre bande-dessinée créée et publiée par Randall Munroe, un ancien consultant à la NASA, qui la définit comme un webcomic sarcastique qui parle de romance, de maths et de langage. Une planche publiée récemment sous forme d'organigramme algorithmique n'a d'autre prétention que celle de résumer, d'une manière extrêmement pessimiste, le métier de développeur. Les développeurs seraient, selon Munroe, éternellement confronté au dilemme : coder rapidement ou coder correctement. Ceux qui prennent la décision de "coder correctement" sont selon Munroe toujours dépassés par les événements, et quand leur travail arrive enfin à terme, les spécifications auront déjà changé. Les malheureux doivent donc tout jeter et reprendre depuis le début. Les autres (ceux qui choisissent de coder vite) finiraient, eux, immanquablement par produire une masse de « bidouilles et de code spaghetti ». Résultat, leur code subirait le même triste sort que celui de leurs confrères : être jeté et repris depuis le début. ![]() Bien entendu, cette planche exclut toute possibilité de juste milieu entre ces deux extrêmes. Il existe bien entendu des développeurs qui arrivent à produire du bon code dans les délais, sinon nous ne serions pas là pour en parler. Mais d'après vous ? Comment trouver le juste milieu pour développer vite tout en produisant du code correct ? Comment faire des concessions tout en étant consciencieux ? Y arrivez-vous plus avec l'expérience ? Ou pas du tout ?Source : XKCD.com |
|
|
71
|
|
|
#2 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 403 ![]() |
"Make It Work, Make It Right, Make It Fast", Kent Beck.
1. "Make It Work" : Coder quelque chose qui est fonctionnel (implement) 2. "Make It Right" : Reprendre le code pour le rendre clair (refactor) 3. "Make It Fast" : Reprendre le code pour le rendre rapide (optimize)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
40
|
|
|
#3 |
|
Membre actif
![]() christian Développeur indépendant Inscription : août 2004 Messages : 251 ![]() |
simple, faire en sorte que les spécifications de l'appli ne changent pas toutes les 5 minutes..
|
|
|
11
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 452 ![]() |
|
|
|
00
|
|
|
#5 |
![]() ![]() Jean-Marc Blanc Inscription : avril 2007 Messages : 2 649 ![]() |
Bonjour à tous!
Mon expérience professionnelle est la suivante: dans l'immense majorité des cas, celui (client, supérieur hiérarchique ou autre) qui vous confie une tâche de développement informatique n'a aucune idée de ce qu'il veut, et encore moins de ce qu'il est possible de réaliser. Il convient donc de procéder en deux étapes:
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels Formation, conseil, développement Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux) |
|
|
92
|
|
|
#6 | |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 452 ![]() |
Citation:
Un classique de l'incompétent informaticien, ou du trop expérimenté, c'est selon ; ) a+ |
|
|
|
01
|
|
|
#7 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 403 ![]() |
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#8 | |
|
Membre émérite
![]() Étudiant Inscription : septembre 2006 Messages : 498 ![]() |
Citation:
|
|
|
|
11
|
|
|
#9 |
|
Membre régulier
![]() Inscription : juin 2007 Messages : 89 ![]() |
Des besoins clients qui n'évoluent pas, c'est un voeux pieux, donc autant se dire que cela n'existe pas. Et pas de projets sans clients, donc autant intégrer la fluctuation des besoins comme une contrainte de départ.
Je vous conseille de passer un peu de temps à étudier les méthodes agiles. Ce n'est pas uniquement parce qu'on est un développeur "agile" que le code est produit rapidement et proprement, mais si le client et/ou MOA sont impliqués dans le processus, cela augmente les chances de se rapprocher du Graal: vite et bien. Il est certain que lorsqu'un donneur d'ordre espère que 100% du travail soit réalisé dans 70% du temps imparti avec des exigences fonctionnelles différentes encours de projet, il y a peu de chances que la MOE livre du travail de qualité dans les délais! |
|
|
10
|
|
|
#10 | ||
|
Membre Expert
![]() ![]() |
Citation:
Citation:
__________________
En premier lieu, utilisez un moteur de recherche. En second lieu, postez sur le forum adéquat ! |
||
|
|
10
|
|
|
#11 |
|
Expert Confirmé
![]() Ingénieur développement logiciels Inscription : octobre 2007 Messages : 1 127 ![]() |
Je pense que la meilleure méthode reste celle là :
![]() C'est la méthodologie de la RACHE à découvrir ici : http://www.risacher.com/la-rache/ et qui est utilisée dans de très nombreux projets.
__________________
"tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!" |
|
|
50
|
|
|
#12 | |
|
Expert Confirmé
![]() ![]() |
Bonjour
Citation:
A la question posée je dirais qu'il faut juste coder proprement en prévision des futures modifications, de manière à ce que la reprise du code soit la moins fastidieuse possible. |
|
|
00
|
|
|
#13 | |
|
Membre actif
![]() Inscription : décembre 2006 Messages : 96 ![]() |
Citation:
|
|
|
|
00
|
|
|
#14 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 403 ![]() |
Citation:
Au point souvent d'établir comme règle de "toucher au minimum" le code existant... et finir par n'avoir que deux choix possibles : "Ne plus rien toucher" ou "Tout jeter et refaire".
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
10
|
|
|
#15 | |||
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 452 ![]() |
Citation:
Mythe ou réalité ? A en juger par les records d'apple, réalité :O .... Citation:
Citation:
Avec le turn over, la rapidité des développements mal contrôlés, on ne fait pas de doc, ou de test, du coup lorsqu'il s'agit de corriger un bug en phase de TMA, on ne sait plus quel était l'objectif de départ du développement, le développeur fais des modifs mais n'est pas capable de s'assurer, - que c'est toujours concordant avec le dév initial - qu'il n'à pas introduit d'effet de bord Et lorsqu'il s'agit d'expliquer à un nouveau collègue le "but de ce truc", bah tu prends tes spaghettis et t'organises une partie de mikado avec lui pour dénouer le bordel =) A + |
|||
|
|
00
|
|
|
#16 | |
|
Membre actif
![]() Inscription : décembre 2006 Messages : 96 ![]() |
Citation:
...
|
|
|
|
00
|
|
|
#17 |
|
Membre du Club
![]() Yannick Majoros Inscription : janvier 2007 Messages : 70 ![]() |
|
|
|
01
|
|
|
#18 |
|
Expert Confirmé
![]() Ingénieur développement logiciels Inscription : octobre 2007 Messages : 1 127 ![]() |
__________________
"tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!" |
|
|
00
|
|
|
#19 |
|
Membre éclairé
![]() Inscription : octobre 2006 Messages : 138 ![]() |
|
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() Ingénieur développement logiciels Inscription : octobre 2007 Messages : 1 127 ![]() |
T'aurais pu laisser les gens essayer de deviner un peu...
__________________
"tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com