Files
lespiedsdanslecode/content/posts/2008/2008-05-24-courage-du-developpeur.html
T
2020-03-08 00:01:41 +01:00

51 lines
5.3 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta name="generator" content="Hugo 0.22.1" />
<meta charset="utf-8">
<title>Yannick François - Elsif.fr</title>
<meta name="DC.title" content="elsif.fr, site de Yannick François aka yaf (ou ya_f)."/>
<meta name="description" content="Le site de Yannick François. Développeur Senior, Responsable Produit, Pédagogue. Je travail chez Scopyleft"/>
<meta name="keywords" content="code, développement, programmation, apprentissage, apprendre, lean, agile, logiciel, tdd, objet, refactoring, libre, creative commons, linux, unix"/>
<meta name="author" content="Yannick François, https://elsif.fr"/>
<meta name="designer" content="Yannick François, https://elsif.fr"/>
<meta name="geo.placename" content="Poissy, Ile de france, France"/>
<meta name="robots" content="index,follow" />
<meta name="language" content="French" />
<meta name="HandheldFriendly" content="True" />
<meta name="MobileOptimized" content="320" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" />
<link rel="index" title="Yannick François / Développeur / Pédagogue" href="index.html" />
<link rel="stylesheet" href="/css/201912-elsif.css" media="all"/>
<link rel="alternate" type="application/rss" href="/feed.xml" title="elsif.fr/feed" />
</head>
<body>
<main>
<p>Le <strong>courage</strong> fait parti des clefs de l<a href="http://fr.wikipedia.org/wiki/Extreme_programming">eXtreme Programming [wikipedia]</a>. Il est nécessaire lors du <strong><em>refactoring</em></strong>. Bien trop souvent les développeurs nosent pas modifier du code existant. Il existe plusieurs raisons à cela:</p>
<h2 id="cest-le-code-de">Cest le code de…</h2>
<p>AAah et bien si cest le code du grand guru maison, qui oserais modifier sont code. Il penserait surement que lon critique son code, quon ne le trouve pas assez bien. Et cest peut-être le cas, ou alors tout simplement, ce code à besoin d’évoluer. Et plutôt que dajouter de nouvelle chose, il faut reprendre, modifier une partie du code existant. Cela évitera les redondances, les erreurs, et le code mort. Je garde mon apologie du refactoring pour un autre billet.</p>
<p>## Trop compliqué à lire</p>
<p>Justement ! Cest quil faut le reécrire ce code ! Quel horreur du code illisible. Source de bugs, peut-être que ce source fait beaucoup trop de chose par rapport au besoin. Simplifions le !</p>
<h2 id="je-nai-pas-le-temps">Je nai pas le temps</h2>
<p>Je crois quil faut de temps à autre avoir le courage de prendre le temps, de perdre du temps. Cela pourrais savérer bénéfique par la suite. Si jajoute plutôt que de modifier, qui me dit que je ne vais pas devoir y revenir une fois, deux fois, n fois pour corriger un bug, un disfonctionnement, un effet de bord ?</p>
<p>On parle du courage du codeur, le courage de modifier du code, mais je voudrais juste aborder ici un autre courage, celui-ci cest pour les divers responsables et autres chefs de services: <strong>le courage de revenir sur une décision quand elle savère être mauvaise</strong>.</p>
<p>Trop de projets sont ecrasé contre un mur (ou alors y vont tout droit) parce quen haut personne nose, personne na le courage de tirer les leçons dune série d’échecs, personnes nose revenir sur une méthodologie mauvaise.</p>
<p>Personnellement, je fais de linformatique pour rendre service à des utilisateurs. Si je vois les utilisateurs heureux lors dune livraisons, je le suis aussi. Cest un bon moyen de vérifier que nous sommes sur la bonne route. Mais justement, je m’égare de la route du courage dont je voulais parler :-)</p>
<p>Nayons pas peur de modifier du code. Pour nous aider dans ce sens nous avons plusieurs outils à notre disposition:</p>
<p>## Outils de gestion de configuration (ou versioning)</p>
<p>Ces outils nous permette de revenir à une version précédente avec une facilité déconcertante. Alors bien sur il faut en choisir un qui corresponde bien à nos besoin, mais je crois quaujourdhui nous avons lembarras du choix !</p>
<p>## Test unitaire</p>
<p>Les tests ! En voilà un outil. Avec une bonne batterie de test, nous sommes sur de ne rien casser. Comment ne pas <em>oser</em> un refactoring avec ça ? On modifie, on relance les tests, ça passe ? bien ça marche alors :)</p>
<p>## Langage et architecture</p>
<p>Tout cela est bien beau, mais cest vrai quavec un langage et/ou une architecture ou tout élément et imbriqué dans lautres, une architecture ou tout est lié, une architecture ou lon gère plusieurs fonctionnalité dans un même source, cest beaucoup plus effrayant de modifier un morceau. Cest une des raisons qui me font adorer lObjet et les architectures associé. Un objet à une responsabilité, et une seul (enfin, il devrait). Pas de code cherchant à tout faire, souvent mal. Au moins cest simple.</p>
<p><strong>Courage et <acronym title="Keep It Smart Simple">KISS</acronym> <acronym title="Don't Repeat Yourself">DRY</acronym></strong></p>
</main>
<footer>
<ul>
</ul>
</footer>
</body>
</html>