<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Commentaires sur : Littérature de code</title> <atom:link href="http://www.christian-faure.net/2008/01/07/litterature-de-code/feed/" rel="self" type="application/rss+xml" /><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/</link> <description>Hypomnemata : supports de mémoire</description> <lastBuildDate>Wed, 08 Feb 2012 20:10:52 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Par : JP</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-8288</link> <dc:creator>JP</dc:creator> <pubDate>Wed, 12 Mar 2008 14:02:12 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-8288</guid> <description>@Christian : si, c&#039;est moi ! (grillé)
mais depuis j&#039;ai changé de boulot et je n&#039;ai plus trop le temps d&#039;écrire ce genre d&#039;articles (il m&#039;en reste au moins 2 à écrire...). Je ne perds pas espoir.
ps : désolé pour les exemples de code tout pourris, mais si je colle du &quot;vrai&quot; code sur lequel je travaille tous les jours, cela va être difficile d&#039;expliciter le contexte alentour et j&#039;aurais noyé mon propos.@fasteez : je pense que si tu as du code qui est complexe et difficile à suivre, alors il faut &quot;cacher&quot; la partie difficile à l&#039;utilisateur en publiant une API facile. TDD peut bien aider pour cela puisqu&#039;il nous permet de réfléchir au &quot;quoi faire&quot; plutot qu&#039;au &quot;comment faire&quot;. De même, au sein de ton implémentation compliquée/complexe, je suis persuadé qu&#039;il y a des moyens pour redécouper le travail, faire parler le code sans commentaire, simplifier l&#039;implémentation. Mais ce n&#039;est pas facile. C&#039;est même très difficile d&#039;écrire du code lisible sans commentaire (mon coach parle de code &quot;beau à pleurer&quot;, sacré objectif !)
Merci pour le lien vers le bouquin : ca m&#039;a l&#039;air intéressant !</description> <content:encoded><![CDATA[<p>@Christian : si, c&#8217;est moi ! (grillé)<br
/> mais depuis j&#8217;ai changé de boulot et je n&#8217;ai plus trop le temps d&#8217;écrire ce genre d&#8217;articles (il m&#8217;en reste au moins 2 à écrire&#8230;). Je ne perds pas espoir.<br
/> ps : désolé pour les exemples de code tout pourris, mais si je colle du &laquo;&nbsp;vrai&nbsp;&raquo; code sur lequel je travaille tous les jours, cela va être difficile d&#8217;expliciter le contexte alentour et j&#8217;aurais noyé mon propos.</p><p>@fasteez : je pense que si tu as du code qui est complexe et difficile à suivre, alors il faut &laquo;&nbsp;cacher&nbsp;&raquo; la partie difficile à l&#8217;utilisateur en publiant une API facile. TDD peut bien aider pour cela puisqu&#8217;il nous permet de réfléchir au &laquo;&nbsp;quoi faire&nbsp;&raquo; plutot qu&#8217;au &laquo;&nbsp;comment faire&nbsp;&raquo;. De même, au sein de ton implémentation compliquée/complexe, je suis persuadé qu&#8217;il y a des moyens pour redécouper le travail, faire parler le code sans commentaire, simplifier l&#8217;implémentation. Mais ce n&#8217;est pas facile. C&#8217;est même très difficile d&#8217;écrire du code lisible sans commentaire (mon coach parle de code &laquo;&nbsp;beau à pleurer&nbsp;&raquo;, sacré objectif !)<br
/> Merci pour le lien vers le bouquin : ca m&#8217;a l&#8217;air intéressant !</p> ]]></content:encoded> </item> <item><title>Par : fasteez</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-8284</link> <dc:creator>fasteez</dc:creator> <pubDate>Wed, 12 Mar 2008 07:44:20 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-8284</guid> <description>J&#039;ai franchement pas lu tout vos commentaires, meme le meilleur des codes devrait etre commente parfois, le code c&#039;est une traduction d&#039;une idee et pour une idee il y&#039;a surement beaucoup de traductions possibles, de l&#039;isomorphe au plus cryptique. Certaines optimisations liees au langage d&#039;implementation ou a un contexte particulier (comme dit dans l&#039;article) sont tres longues a reperees parfois.Pour l&#039;info il y&#039;a un bouquin assez connu on dirait qui traite du sujet :
http://www.spinellis.gr/codereading/Et pour conclure je pense que le seul code &quot;non commentable&quot; c&#039;est mini langage specifique interprete car ici pas de projection vers un ensemble de concepts differents. (Oui je suis un futur Lispien =])</description> <content:encoded><![CDATA[<p>J&#8217;ai franchement pas lu tout vos commentaires, meme le meilleur des codes devrait etre commente parfois, le code c&#8217;est une traduction d&#8217;une idee et pour une idee il y&#8217;a surement beaucoup de traductions possibles, de l&#8217;isomorphe au plus cryptique. Certaines optimisations liees au langage d&#8217;implementation ou a un contexte particulier (comme dit dans l&#8217;article) sont tres longues a reperees parfois.</p><p>Pour l&#8217;info il y&#8217;a un bouquin assez connu on dirait qui traite du sujet :<br
/> <a
href="http://www.spinellis.gr/codereading/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.spinellis.gr/codereading/?referer=');">http://www.spinellis.gr/codereading/</a></p><p>Et pour conclure je pense que le seul code &laquo;&nbsp;non commentable&nbsp;&raquo; c&#8217;est mini langage specifique interprete car ici pas de projection vers un ensemble de concepts differents. (Oui je suis un futur Lispien =])</p> ]]></content:encoded> </item> <item><title>Par : Christian</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-8199</link> <dc:creator>Christian</dc:creator> <pubDate>Fri, 07 Mar 2008 18:12:24 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-8199</guid> <description>Tu as raison, il est toujours souhaitable d&#039;avoir des méthodes qui &quot;parlent&quot;, bien qu&#039;un commentaire pour commenter une méthode ou une ligne de code n&#039;est que le cas le plus &quot;discret&quot; du commentaire.
Un commentaire peu éclairer des dizaines de lignes de code à la fois.&lt;rien à voir&gt;Et sinon, c&#039;est pas toi qui faisait des billets sur le Jazz ?&lt;/rien&gt;</description> <content:encoded><![CDATA[<p>Tu as raison, il est toujours souhaitable d&#8217;avoir des méthodes qui &laquo;&nbsp;parlent&nbsp;&raquo;, bien qu&#8217;un commentaire pour commenter une méthode ou une ligne de code n&#8217;est que le cas le plus &laquo;&nbsp;discret&nbsp;&raquo; du commentaire.<br
/> Un commentaire peu éclairer des dizaines de lignes de code à la fois.</p><p><rien
à voir>Et sinon, c&#8217;est pas toi qui faisait des billets sur le Jazz ?</rien></p> ]]></content:encoded> </item> <item><title>Par : JP</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-8198</link> <dc:creator>JP</dc:creator> <pubDate>Fri, 07 Mar 2008 13:40:24 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-8198</guid> <description>bonjour,(je suis un professionel de la programmation : je suis payé pour produire du code)je ne comprends pas le rapport entre le fait que le code considéré soit &quot;pro&quot; ou &quot;amateur&quot; et la présence de commentaires inutiles : à mon avis, du bon code est auto-documenté, même si il est produit par un amateur.en effet, qu&#039;est qui est plus pratique :-------------------
// commentaire qui explique ce qui suit ?
objet.doTheThingWithoutPrecision(arg1)
--------------------------------------
objet.actionMetier(argumentComprehesible)
-------------------à mon avis, la deuxième solution est la meilleure quel que soit le contexte. lorque le code exprime une intention bien précise, quiconque le relit le comprend aisément. nul besoin d&#039;avoir recours aux commentaires, le flux des instructions se comprend bien. Egalement, l&#039;API se lit facilement si les méthodes &quot;parlent&quot;Enfin, dans des tests unitaires aussi, il vaut mieux des noms de tests qui parlent (testEntreeUtilisateurNonNumerique_Controle_RenvoieErreurSaisieNumeriqueObligatoire)
plutot que des test1 test2 test3 avec un commentaire au dessus.De plus, les tests unitaires peuvent commenter une API complexe : pour moi, la meilleure façon d&#039;expliquer, c&#039;est de donner des exemples, et c&#039;est ce que permettent els tests unitaires.</description> <content:encoded><![CDATA[<p>bonjour,</p><p>(je suis un professionel de la programmation : je suis payé pour produire du code)</p><p>je ne comprends pas le rapport entre le fait que le code considéré soit &laquo;&nbsp;pro&nbsp;&raquo; ou &laquo;&nbsp;amateur&nbsp;&raquo; et la présence de commentaires inutiles : à mon avis, du bon code est auto-documenté, même si il est produit par un amateur.</p><p>en effet, qu&#8217;est qui est plus pratique :</p><p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br
/> // commentaire qui explique ce qui suit ?<br
/> objet.doTheThingWithoutPrecision(arg1)<br
/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p><p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br
/> objet.actionMetier(argumentComprehesible)<br
/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p><p>à mon avis, la deuxième solution est la meilleure quel que soit le contexte. lorque le code exprime une intention bien précise, quiconque le relit le comprend aisément. nul besoin d&#8217;avoir recours aux commentaires, le flux des instructions se comprend bien. Egalement, l&#8217;API se lit facilement si les méthodes &laquo;&nbsp;parlent&nbsp;&raquo;</p><p>Enfin, dans des tests unitaires aussi, il vaut mieux des noms de tests qui parlent (testEntreeUtilisateurNonNumerique_Controle_RenvoieErreurSaisieNumeriqueObligatoire)<br
/> plutot que des test1 test2 test3 avec un commentaire au dessus.</p><p>De plus, les tests unitaires peuvent commenter une API complexe : pour moi, la meilleure façon d&#8217;expliquer, c&#8217;est de donner des exemples, et c&#8217;est ce que permettent els tests unitaires.</p> ]]></content:encoded> </item> <item><title>Par : Christian</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-7114</link> <dc:creator>Christian</dc:creator> <pubDate>Fri, 11 Jan 2008 09:03:18 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-7114</guid> <description>Bon rebond, merci Hubert.</description> <content:encoded><![CDATA[<p>Bon rebond, merci Hubert.</p> ]]></content:encoded> </item> <item><title>Par : Hubert Guillaud</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-7110</link> <dc:creator>Hubert Guillaud</dc:creator> <pubDate>Thu, 10 Jan 2008 21:18:28 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-7110</guid> <description>Rebond : http://www.internetactu.net/2008/01/07/comprendre-le-code/</description> <content:encoded><![CDATA[<p>Rebond : <a
href="http://www.internetactu.net/2008/01/07/comprendre-le-code/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.internetactu.net/2008/01/07/comprendre-le-code/?referer=');">http://www.internetactu.net/2008/01/07/comprendre-le-code/</a></p> ]]></content:encoded> </item> <item><title>Par : Christian Fauré &#187; Blog Archive &#187; Le code et l&#8217;écriture</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-7087</link> <dc:creator>Christian Fauré &#187; Blog Archive &#187; Le code et l&#8217;écriture</dc:creator> <pubDate>Wed, 09 Jan 2008 21:14:45 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-7087</guid> <description>[...] Après la publication de Littérature du code et la lecture des commentaires à cette note, je me suis demandé s&#8217;il y avait des pratiques d&#8217;écriture qui évoluaient en s&#8217;imprégnant des pratiques du code. [...]</description> <content:encoded><![CDATA[<p>[...] Après la publication de Littérature du code et la lecture des commentaires à cette note, je me suis demandé s&#8217;il y avait des pratiques d&#8217;écriture qui évoluaient en s&#8217;imprégnant des pratiques du code. [...]</p> ]]></content:encoded> </item> <item><title>Par : Christian</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-7060</link> <dc:creator>Christian</dc:creator> <pubDate>Tue, 08 Jan 2008 12:16:44 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-7060</guid> <description>Bon code !
Et n&#039;oublie pas de mettre un lien vers ce billet dans tes commentaires de code ;-)</description> <content:encoded><![CDATA[<p>Bon code !<br
/> Et n&#8217;oublie pas de mettre un lien vers ce billet dans tes commentaires de code <img
src='http://www.christian-faure.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Etienne Charignon</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-7059</link> <dc:creator>Etienne Charignon</dc:creator> <pubDate>Tue, 08 Jan 2008 11:16:19 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-7059</guid> <description>Oui, effectivement, j&#039;aborde le problème du point de vue professionnel. Je m&#039;intéresse évidement aussi beaucoup à l&#039;open source, mais il est vrai que je suis parfois très déçu par le niveau de qualité de certain logiciel pourtant très prometteur sur le papier. Enfin, c&#039;est ça aussi l&#039;open source, une variété infinie.Bref, je voulais juste rajouter un petit message car décidément, cette vision des commentaires me fait réfléchir...C&#039;est surtout cette idée de langage parlé qui m&#039;a plus. Je ne suis pas tout a fait d&#039;accord avec cette idée que le langage de programmation à besoin d&#039;être parlé ou d&#039;avoir un support parlé. Cela serait un peut trop bruyant dans ma tête si s&#039;était le cas :-). Après un certain niveau de pratique, le langage de programmation utilisé devient une compétence inconsciente. De la même manière qu&#039;on conduit une voiture sans réfléchir au levier de vitesse ou à l&#039;accélérateur. Vous n&#039;êtes pas en permanence à vous demander si le frein est en deuxième ou troisième position. Utiliser un langage parlé en plus, c&#039;est comme si on avait besoins de traduire mentalement tout ce qu&#039;on dit en français quand on parle anglais.Ceci dit, je comprends justement l&#039;argument puisque effectivement quand on début en anglais on pratique souvent cette traduction mentale. Mais il peut être intéressant pour l&#039;amateur d&#039;évoluer vers plus d&#039;&quot;aisance&quot;.Enfin, pour répondre à ton message Christian. J&#039;ai l&#039;impression que tu décris ici des programmes &quot;oeuvre d&#039;art&quot; qui auraient un état figé et dont on pourrait en étudier l&#039;histoire, la genèse... Pourquoi pas. J&#039;aime bien aussi quand ça peut servir à quelque choses et s&#039;est vrai qu&#039;a titre personnel je vais plus rechercher dans du code des idées d&#039;architectures, des solutions à des problèmes génériques...Le code est pour moi quelque chose de vivant, comme un jardin qu&#039;il faut entretenir. Enlever les commentaires faux, c&#039;est comme de retirer les feuilles mortes. Quand je relis du code, j&#039;ai souvent le reflexe de le modifier pour en améliorer l&#039;expressivité, ce qui est différent du travail d&#039;annotation que tu fais sur tes livres, mais qui finalement correspond plus à l&#039;esprit de l&#039;open source non ? Tout le monde peut participer.
Mais là encore je me place dans la position de quelqu&#039;un qui produit le code et non quelqu&#039;un qui le regarde comme on regarde une fourmilières.Bon aller, je retourne à mon travail de développeur professionnel... :-)</description> <content:encoded><![CDATA[<p>Oui, effectivement, j&#8217;aborde le problème du point de vue professionnel. Je m&#8217;intéresse évidement aussi beaucoup à l&#8217;open source, mais il est vrai que je suis parfois très déçu par le niveau de qualité de certain logiciel pourtant très prometteur sur le papier. Enfin, c&#8217;est ça aussi l&#8217;open source, une variété infinie.</p><p>Bref, je voulais juste rajouter un petit message car décidément, cette vision des commentaires me fait réfléchir&#8230;</p><p>C&#8217;est surtout cette idée de langage parlé qui m&#8217;a plus. Je ne suis pas tout a fait d&#8217;accord avec cette idée que le langage de programmation à besoin d&#8217;être parlé ou d&#8217;avoir un support parlé. Cela serait un peut trop bruyant dans ma tête si s&#8217;était le cas <img
src='http://www.christian-faure.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Après un certain niveau de pratique, le langage de programmation utilisé devient une compétence inconsciente. De la même manière qu&#8217;on conduit une voiture sans réfléchir au levier de vitesse ou à l&#8217;accélérateur. Vous n&#8217;êtes pas en permanence à vous demander si le frein est en deuxième ou troisième position. Utiliser un langage parlé en plus, c&#8217;est comme si on avait besoins de traduire mentalement tout ce qu&#8217;on dit en français quand on parle anglais.</p><p>Ceci dit, je comprends justement l&#8217;argument puisque effectivement quand on début en anglais on pratique souvent cette traduction mentale. Mais il peut être intéressant pour l&#8217;amateur d&#8217;évoluer vers plus d&#8217;&nbsp;&raquo;aisance&nbsp;&raquo;.</p><p>Enfin, pour répondre à ton message Christian. J&#8217;ai l&#8217;impression que tu décris ici des programmes &laquo;&nbsp;oeuvre d&#8217;art&nbsp;&raquo; qui auraient un état figé et dont on pourrait en étudier l&#8217;histoire, la genèse&#8230; Pourquoi pas. J&#8217;aime bien aussi quand ça peut servir à quelque choses et s&#8217;est vrai qu&#8217;a titre personnel je vais plus rechercher dans du code des idées d&#8217;architectures, des solutions à des problèmes génériques&#8230;</p><p>Le code est pour moi quelque chose de vivant, comme un jardin qu&#8217;il faut entretenir. Enlever les commentaires faux, c&#8217;est comme de retirer les feuilles mortes. Quand je relis du code, j&#8217;ai souvent le reflexe de le modifier pour en améliorer l&#8217;expressivité, ce qui est différent du travail d&#8217;annotation que tu fais sur tes livres, mais qui finalement correspond plus à l&#8217;esprit de l&#8217;open source non ? Tout le monde peut participer.<br
/> Mais là encore je me place dans la position de quelqu&#8217;un qui produit le code et non quelqu&#8217;un qui le regarde comme on regarde une fourmilières.</p><p>Bon aller, je retourne à mon travail de développeur professionnel&#8230; <img
src='http://www.christian-faure.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Christian</title><link>http://www.christian-faure.net/2008/01/07/litterature-de-code/comment-page-1/#comment-7056</link> <dc:creator>Christian</dc:creator> <pubDate>Tue, 08 Jan 2008 09:30:25 +0000</pubDate> <guid
isPermaLink="false">http://www.christian-faure.net/2008/01/07/litterature-de-code/#comment-7056</guid> <description>@Christophe : merci pour les liens.
Chacun fera ses recherches :-)</description> <content:encoded><![CDATA[<p>@Christophe : merci pour les liens.<br
/> Chacun fera ses recherches <img
src='http://www.christian-faure.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic (User agent is rejected)
Database Caching 6/21 queries in 0.023 seconds using disk: basic

Served from: www.christian-faure.net @ 2012-02-12 09:39:10 -->
