{"id":150,"date":"2020-11-29T20:58:11","date_gmt":"2020-11-29T20:58:11","guid":{"rendered":"https:\/\/amelioretonparent.wordpress.com\/?p=150"},"modified":"2020-11-29T20:58:11","modified_gmt":"2020-11-29T20:58:11","slug":"faire-du-code-vite-ou-faire-du-bon-code","status":"publish","type":"post","link":"https:\/\/atpart.fr\/index.php\/2020\/11\/29\/faire-du-code-vite-ou-faire-du-bon-code\/","title":{"rendered":"Faire du code vite ou faire du bon code ?"},"content":{"rendered":"\n<p>Ou pourquoi est-ce que les d\u00e9veloppeurs ne vont jamais assez vite aux yeux de leurs clients ou de leurs hi\u00e9rarchies ? Voir m\u00eame aux yeux de leurs coll\u00e8gues !<\/p>\n\n\n\n<p class=\"has-text-align-left\">Code fast or code well, ces deux notions sont souvent pr\u00e9sent\u00e9es comme oppos\u00e9es. Pourtant je rejoins totalement <a rel=\"noreferrer noopener\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Robert_C._Martin\" target=\"_blank\">oncle Bob (Robert C. Martin)<\/a> sur ce sujet : <br>&#8220;<strong><em>The only way to go fast is to go well<\/em><\/strong>&#8220;.<\/p>\n\n\n\n<p>Ces derni\u00e8res semaines m&#8217;ont brutalement rappel\u00e9 cet antagonisme. Entre un potentiel client qui a consid\u00e9r\u00e9 mon devis comme trop cher car c&#8217;\u00e9tait une petite fonctionnalit\u00e9, cela aurait d\u00fb me prendre tr\u00e8s peu de temps &#8230; <br>Ou d&#8217;autres d\u00e9veloppeurs qui vous regardent avec de grands yeux lorsque vous sugg\u00e9rez un refactoring : le code marche et il est &#8220;lisible&#8221;, alors pourquoi s&#8217;emb\u00eater \u00e0 le reprendre ?<\/p>\n\n\n\n<p>Dans le monde actuel, nous sommes entour\u00e9s par l&#8217;informatique au sens large. Tout ou presque est accessible facilement, en quelques clics &#8230; Cette disponibilit\u00e9 nous a habitu\u00e9 \u00e0 avoir ce que nous voulons tr\u00e8s vite. Et les longues heures qui ont \u00e9t\u00e9 n\u00e9cessaires pour en arriver l\u00e0 sont compl\u00e8tement oubli\u00e9es, ou tout simplement, jamais appr\u00e9hend\u00e9es.<\/p>\n\n\n\n<p>Dans l&#8217;informatique, les premi\u00e8res fonctionnalit\u00e9s sont tr\u00e8s rapidement disponibles. Et puis au fur et \u00e0 mesure des d\u00e9veloppements, les nouvelles fonctionnalit\u00e9s prennent de plus en plus de temps, les bugs se multiplient. Il est en effet facile de coder rapidement au d\u00e9but. Pour rester rapide, cela demande une grande discipline : <strong>pour faire du bon code, du code propre, il faut approximativement le m\u00eame temps de nettoyage de code que de temps pour faire initialement la fonctionnalit\u00e9<\/strong>. Et personne n&#8217;est pr\u00eat \u00e0 payer pour cela, encore moins si le d\u00e9veloppeur est all\u00e9 tr\u00e8s (trop) vite au d\u00e9but. C&#8217;est donc la responsabilit\u00e9 du d\u00e9veloppeur de l&#8217;expliquer et de d\u00e9fendre ce point de vue !<\/p>\n\n\n\n<p>Encore faut-il avoir une id\u00e9e de ce qu&#8217;est du bon code. Il y en a, je pense, quasiment autant de d\u00e9finitions que de d\u00e9veloppeurs. J&#8217;aime particuli\u00e8rement celle de <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Grady_Booch\" target=\"_blank\" rel=\"noreferrer noopener\">Grady Booch<\/a> : <br><strong><em>&#8220;Clean code is simple and direct. Clean code reads like well-written prose &#8230;&#8221;<\/em><\/strong><br>Et de la bonne prose commence au d\u00e9but et se termine \u00e0 la fin bien s\u00fbr. Elle doit respecter les r\u00e8gles de grammaire. Et surtout elle int\u00e9resse le lecteur, avec g\u00e9n\u00e9ralement une progression des concepts g\u00e9n\u00e9raux vers les d\u00e9tails.<\/p>\n\n\n\n<p>Pour aller plus loin, je vous recommande cette s\u00e9rie de vid\u00e9o d&#8217;oncle Bob sur le &#8220;clean code&#8221; : <a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/watch?v=7EmboKQH8lM\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=7EmboKQH8lM<\/a><br>Vous y apprendrez tout ou presque sur le bon code et comment en faire soi-m\u00eame pour les autres.<\/p>\n\n\n\n<p> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ou pourquoi est-ce que les d\u00e9veloppeurs ne vont jamais assez vite aux yeux de leurs clients ou de leurs hi\u00e9rarchies ? Voir m\u00eame aux yeux de leurs coll\u00e8gues ! Code fast or code well, ces deux notions sont souvent pr\u00e9sent\u00e9es comme oppos\u00e9es. Pourtant je rejoins totalement oncle Bob (Robert C. Martin) sur ce sujet : [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-150","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/posts\/150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":0,"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/posts\/150\/revisions"}],"wp:attachment":[{"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/media?parent=150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/categories?post=150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atpart.fr\/index.php\/wp-json\/wp\/v2\/tags?post=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}