<?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>Comments on: Se stai scrivendo la stessa cosa due volte, c&#8217;è qualcosa di sbagliato</title>
	<atom:link href="http://im.digitalhymn.com/2007/12/02/se-stai-scrivendo-la-stessa-cosa-due-volte-ce-qualcosa-di-sbagliato/feed/" rel="self" type="application/rss+xml" />
	<link>http://im.digitalhymn.com/2007/12/02/se-stai-scrivendo-la-stessa-cosa-due-volte-ce-qualcosa-di-sbagliato/</link>
	<description>Looking for a new self</description>
	<lastBuildDate>Sun, 17 Oct 2010 02:24:51 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Folletto Malefico</title>
		<link>http://im.digitalhymn.com/2007/12/02/se-stai-scrivendo-la-stessa-cosa-due-volte-ce-qualcosa-di-sbagliato/comment-page-1/#comment-94044</link>
		<dc:creator>Folletto Malefico</dc:creator>
		<pubDate>Sun, 02 Dec 2007 18:29:14 +0000</pubDate>
		<guid isPermaLink="false">http://im.digitalhymn.com/2007/12/02/se-stai-scrivendo-la-stessa-cosa-due-volte-ce-qualcosa-di-sbagliato/#comment-94044</guid>
		<description>Non so se lo sapevi mentre scrivevi, ma sfondi una porta più che aperta. :)
Quanto tocchi nel tuo commento tratta quello che io definisco al momento con &quot;Code Usability&quot; e che affronterò più avanti in modo - spero - esaustivo. ;)

La definizione che preferisci a DRY... è perfettamente in linea, infatti, con il mio pensiero. :)
Son felice perché hai colto il senso del post accompagnato al concetto &quot;fra le righe&quot; che l&#039;importante è mantenere il codice leggibile. :)

Grazie per il post, che rimanda a quello ugualmente interessante di Joel che mi era sfuggito. :)

&lt;em&gt;Nota a margine: questo post nasce su alcune connessioni mentali che ho fatto dopo aver letto della campagna &lt;a href=&quot;http://www.metodiagili.it/campagna-anti-if.html&quot; rel=&quot;nofollow&quot;&gt;anti-if&lt;/a&gt;.&lt;/em&gt; ;)</description>
		<content:encoded><![CDATA[<p>Non so se lo sapevi mentre scrivevi, ma sfondi una porta più che aperta. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Quanto tocchi nel tuo commento tratta quello che io definisco al momento con &#8220;Code Usability&#8221; e che affronterò più avanti in modo &#8211; spero &#8211; esaustivo. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>La definizione che preferisci a DRY&#8230; è perfettamente in linea, infatti, con il mio pensiero. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Son felice perché hai colto il senso del post accompagnato al concetto &#8220;fra le righe&#8221; che l&#8217;importante è mantenere il codice leggibile. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Grazie per il post, che rimanda a quello ugualmente interessante di Joel che mi era sfuggito. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Nota a margine: questo post nasce su alcune connessioni mentali che ho fatto dopo aver letto della campagna <a href="http://www.metodiagili.it/campagna-anti-if.html" rel="nofollow">anti-if</a>.</em> <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bard</title>
		<link>http://im.digitalhymn.com/2007/12/02/se-stai-scrivendo-la-stessa-cosa-due-volte-ce-qualcosa-di-sbagliato/comment-page-1/#comment-94042</link>
		<dc:creator>bard</dc:creator>
		<pubDate>Sun, 02 Dec 2007 18:18:59 +0000</pubDate>
		<guid isPermaLink="false">http://im.digitalhymn.com/2007/12/02/se-stai-scrivendo-la-stessa-cosa-due-volte-ce-qualcosa-di-sbagliato/#comment-94042</guid>
		<description>&lt;blockquote&gt;Questo processo [di astrazione] è più interessante di quello che può sembrare perché implica anche ottimizzazione: quali sono i parametri che tale funzione richiede per funzionare? Posso minimizzarli? [...] Lo scopo è salire un gradino nella scala dell’astrazione, semplificando da quel momento in poi la scrittura di quel particolare codice.&lt;/blockquote&gt;

A volte ottimizzare un&#039;attività nuoce a un&#039;altra.  Leggere codice e comprenderlo richiede l&#039;inverso dell&#039;astrazione: sostituiamo mentalmente strati di simboli con gli effetti concreti che ci aspettiamo produrranno quando interpretati.  In dosi irragionevoli abstraction è obfuscation.

Ho visto cose come:

&lt;code&gt;
    client.connect(server)
    client.handshake(server)
&lt;/code&gt;

...venire compulsivamente storpiate--pardon, rifattorizzate in:

&lt;code&gt;
    [:connect, :handshake].each {&#124;action&#124; client.send(action, server)}
&lt;/code&gt;

Che penso sia anche il genere di cose che volevi inquadrare con quella terza domanda.

Al DRY personalmente preferisco questo:

&lt;blockquote cite=&quot;http://mitpress.mit.edu/sicp/front/node3.html&quot;&gt;First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.&lt;/blockquote&gt;

Purtroppo non è riassumibile in un acronimo di tre lettere, per cui non mi aspetto di vederla largamente praticata nel futuro immediato...

&lt;a href=&quot;http://calculist.blogspot.com/2007/09/science-and-engineering.html&quot; rel=&quot;nofollow&quot;&gt;Questo&lt;/a&gt; è un altro post interessante.  (Sì, &lt;em&gt;altro&lt;/em&gt; insinua non troppo sottilmente che anche il tuo lo sia. ;-))</description>
		<content:encoded><![CDATA[<blockquote><p>Questo processo [di astrazione] è più interessante di quello che può sembrare perché implica anche ottimizzazione: quali sono i parametri che tale funzione richiede per funzionare? Posso minimizzarli? [...] Lo scopo è salire un gradino nella scala dell’astrazione, semplificando da quel momento in poi la scrittura di quel particolare codice.</p></blockquote>
<p>A volte ottimizzare un&#8217;attività nuoce a un&#8217;altra.  Leggere codice e comprenderlo richiede l&#8217;inverso dell&#8217;astrazione: sostituiamo mentalmente strati di simboli con gli effetti concreti che ci aspettiamo produrranno quando interpretati.  In dosi irragionevoli abstraction è obfuscation.</p>
<p>Ho visto cose come:</p>
<p><code><br />
    client.connect(server)<br />
    client.handshake(server)<br />
</code></p>
<p>&#8230;venire compulsivamente storpiate&#8211;pardon, rifattorizzate in:</p>
<p><code><br />
    [:connect, :handshake].each {|action| client.send(action, server)}<br />
</code></p>
<p>Che penso sia anche il genere di cose che volevi inquadrare con quella terza domanda.</p>
<p>Al DRY personalmente preferisco questo:</p>
<blockquote cite="http://mitpress.mit.edu/sicp/front/node3.html"><p>First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.</p></blockquote>
<p>Purtroppo non è riassumibile in un acronimo di tre lettere, per cui non mi aspetto di vederla largamente praticata nel futuro immediato&#8230;</p>
<p><a href="http://calculist.blogspot.com/2007/09/science-and-engineering.html" rel="nofollow">Questo</a> è un altro post interessante.  (Sì, <em>altro</em> insinua non troppo sottilmente che anche il tuo lo sia. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> )</p>
]]></content:encoded>
	</item>
</channel>
</rss>

