<?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: Why I don&#8217;t write code comments</title>
	<atom:link href="http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/</link>
	<description>Software Development stuff</description>
	<lastBuildDate>Thu, 07 Jul 2011 14:14:23 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
	<item>
		<title>By: Documentação Ágil &#171; Software e Empreendedorismo &#8211; Valores, princípios e práticas</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-3096</link>
		<dc:creator>Documentação Ágil &#171; Software e Empreendedorismo &#8211; Valores, princípios e práticas</dc:creator>
		<pubDate>Thu, 21 Oct 2010 14:45:31 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-3096</guid>
		<description>[...] precisam ser documentados porque eles são desnecessariamente complexos. Sempre que possível prefira refatorar o código para ele ficar mais fácil de entender ao invés de escrever comentário... (até porque muitas vezes o código muda e o comentário fica lá desatualizado, e isso acaba mais [...]</description>
		<content:encoded><![CDATA[<p>[...] precisam ser documentados porque eles são desnecessariamente complexos. Sempre que possível prefira refatorar o código para ele ficar mais fácil de entender ao invés de escrever comentário&#8230; (até porque muitas vezes o código muda e o comentário fica lá desatualizado, e isso acaba mais [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alguns pensamentos sobre &#8220;documentação ágil&#8221; &#124; Guilherme Chapiewski</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-2701</link>
		<dc:creator>Alguns pensamentos sobre &#8220;documentação ágil&#8221; &#124; Guilherme Chapiewski</dc:creator>
		<pubDate>Thu, 23 Sep 2010 14:52:22 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-2701</guid>
		<description>[...] precisam ser documentados porque eles são desnecessariamente complexos. Sempre que possível prefira refatorar o código para ele ficar mais fácil de entender ao invés de escrever comentário... (até porque muitas vezes o código muda e o comentário fica lá desatualizado, e isso acaba mais [...]</description>
		<content:encoded><![CDATA[<p>[...] precisam ser documentados porque eles são desnecessariamente complexos. Sempre que possível prefira refatorar o código para ele ficar mais fácil de entender ao invés de escrever comentário&#8230; (até porque muitas vezes o código muda e o comentário fica lá desatualizado, e isso acaba mais [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Watch out for TODO comments! &#171; Alexandre Gazola</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-2460</link>
		<dc:creator>Watch out for TODO comments! &#171; Alexandre Gazola</dc:creator>
		<pubDate>Fri, 03 Sep 2010 03:21:51 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-2460</guid>
		<description>[...] to try to keep yourself from adding TODO comments to your source code in the first place (in fact, this applies to code comments in general); but, if you do, make sure you don&#8217;t forget about them (Eclipse has a &#8220;Tasks [...]</description>
		<content:encoded><![CDATA[<p>[...] to try to keep yourself from adding TODO comments to your source code in the first place (in fact, this applies to code comments in general); but, if you do, make sure you don&#8217;t forget about them (Eclipse has a &#8220;Tasks [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Chapiewski</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-2275</link>
		<dc:creator>Guilherme Chapiewski</dc:creator>
		<pubDate>Thu, 12 Aug 2010 22:19:55 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-2275</guid>
		<description>Your &quot;IsReadyToBeApprovedByAccountManager&quot; example is really ugly, but take a look at the following examples:

&lt;pre lang=&quot;java&quot;&gt;Order order = anOrder().from(aCustomer().with(anAddress().withNoPostcode())).build();&lt;/pre&gt;
(from &lt;a href=&quot;http://www.natpryce.com/articles/000727.html&quot; rel=&quot;nofollow&quot;&gt;Nat Pryce blog&lt;/a&gt;)

&lt;pre lang=&quot;javascript&quot;&gt;
describe(&quot;Jasmine&quot;, function() {
  it(&quot;makes testing JavaScript awesome!&quot;, function() {
    expect(yourCode).toBeLotsBetter();
  });
});
&lt;/pre&gt;
(from &lt;a href=&quot;http://pivotal.github.com/jasmine/&quot; rel=&quot;nofollow&quot;&gt;Jasmine project&lt;/a&gt;)

Take a look also at this article I wrote some years ago about a &lt;a href=&quot;http://gc.blog.br/2007/09/25/refatorando-para-fluent-interface/&quot; rel=&quot;nofollow&quot;&gt;refactoring to use Fluent Intrefaces&lt;/a&gt; (in Portuguese).

The effort to make your code readable and easy is always worthwhile.

You can write good, solid, semantic, easy-to-understand, readable, clean code, &lt;strong&gt;OR&lt;/strong&gt; you can continue writing code like this (and you will need tons of documentation, of course): &lt;a href=&quot;http://vimeo.com/9981123&quot; rel=&quot;nofollow&quot;&gt;http://vimeo.com/9981123&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Your &#8220;IsReadyToBeApprovedByAccountManager&#8221; example is really ugly, but take a look at the following examples:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Order order <span style="color: #339933;">=</span> anOrder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">from</span><span style="color: #009900;">&#40;</span>aCustomer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">with</span><span style="color: #009900;">&#40;</span>anAddress<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">withNoPostcode</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">build</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>(from <a href="http://www.natpryce.com/articles/000727.html" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.natpryce.com/articles/000727.html?referer=');">Nat Pryce blog</a>)</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">describe<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Jasmine&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  it<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;makes testing JavaScript awesome!&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    expect<span style="color: #009900;">&#40;</span>yourCode<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toBeLotsBetter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>(from <a href="http://pivotal.github.com/jasmine/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/pivotal.github.com/jasmine/?referer=');">Jasmine project</a>)</p>
<p>Take a look also at this article I wrote some years ago about a <a href="http://gc.blog.br/2007/09/25/refatorando-para-fluent-interface/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/gc.blog.br/2007/09/25/refatorando-para-fluent-interface/?referer=');">refactoring to use Fluent Intrefaces</a> (in Portuguese).</p>
<p>The effort to make your code readable and easy is always worthwhile.</p>
<p>You can write good, solid, semantic, easy-to-understand, readable, clean code, <strong>OR</strong> you can continue writing code like this (and you will need tons of documentation, of course): <a href="http://vimeo.com/9981123" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/9981123?referer=');">http://vimeo.com/9981123</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomamais</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-2274</link>
		<dc:creator>Tomamais</dc:creator>
		<pubDate>Thu, 12 Aug 2010 19:29:44 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-2274</guid>
		<description>You always should &quot;talk&quot; with your code, but talk in human languange, as posible it is. In simple cases as a mail sender, its very easy to use this philosophy, but not when we need a complex business logic. Can you imagine a method like &quot;Order.IsReadyToBeApprovedByAccountManager()&quot;?

When language code is not sufficient to be clear by itsel, the best way is put comments around code. But not a comment like a book history ok? Leave this do Word Documents.

Sorry for my english</description>
		<content:encoded><![CDATA[<p>You always should &#8220;talk&#8221; with your code, but talk in human languange, as posible it is. In simple cases as a mail sender, its very easy to use this philosophy, but not when we need a complex business logic. Can you imagine a method like &#8220;Order.IsReadyToBeApprovedByAccountManager()&#8221;?</p>
<p>When language code is not sufficient to be clear by itsel, the best way is put comments around code. But not a comment like a book history ok? Leave this do Word Documents.</p>
<p>Sorry for my english</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Louco por automatiza&#231;&#227;o! &#171; Pedro Augusto Freitas de Souza</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-1725</link>
		<dc:creator>Louco por automatiza&#231;&#227;o! &#171; Pedro Augusto Freitas de Souza</dc:creator>
		<pubDate>Sat, 03 Apr 2010 03:53:03 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-1725</guid>
		<description>[...] “Radical” e “extremo” são palavras que têm uma conotação muito negativa, mas ser radical ou extremo pode ser muito útil quando se tem um propósito como esse (ou então para se fazer uma abordagem como a que eu postei sobre porque eu não gosto de escrever comentários no código). [...]</description>
		<content:encoded><![CDATA[<p>[...] “Radical” e “extremo” são palavras que têm uma conotação muito negativa, mas ser radical ou extremo pode ser muito útil quando se tem um propósito como esse (ou então para se fazer uma abordagem como a que eu postei sobre porque eu não gosto de escrever comentários no código). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Chapiewski</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-1397</link>
		<dc:creator>Guilherme Chapiewski</dc:creator>
		<pubDate>Fri, 04 Dec 2009 07:45:35 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-1397</guid>
		<description>@Anderson

Sorry, it&#039;s not implemented. But the good thing is that it is Open Source, you can do it if youwant to! I&#039;ll be happy to integrate your patch into the project :)</description>
		<content:encoded><![CDATA[<p>@Anderson</p>
<p>Sorry, it&#8217;s not implemented. But the good thing is that it is Open Source, you can do it if youwant to! I&#8217;ll be happy to integrate your patch into the project <img src='http://guilherme.pro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anderson</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-1369</link>
		<dc:creator>Anderson</dc:creator>
		<pubDate>Tue, 24 Nov 2009 13:46:07 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-1369</guid>
		<description>How can I use the &quot;no-reply&quot;?

I&#039;ve expected a &quot;.replyTo(...)&quot; !</description>
		<content:encoded><![CDATA[<p>How can I use the &#8220;no-reply&#8221;?</p>
<p>I&#8217;ve expected a &#8220;.replyTo(&#8230;)&#8221; !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Louco por automatização! &#124; Planeta Globo.com</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-37</link>
		<dc:creator>Louco por automatização! &#124; Planeta Globo.com</dc:creator>
		<pubDate>Wed, 15 Apr 2009 22:12:49 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-37</guid>
		<description>[...] &#8220;Radical&#8221; e &#8220;extremo&#8221; são palavras que têm uma conotação muito negativa, mas ser radical ou extremo pode ser muito útil quando se tem um propósito como esse (ou então para se fazer uma abordagem como a que eu postei sobre porque eu não gosto de escrever comentários no código). [...]</description>
		<content:encoded><![CDATA[<p>[...] &#8220;Radical&#8221; e &#8220;extremo&#8221; são palavras que têm uma conotação muito negativa, mas ser radical ou extremo pode ser muito útil quando se tem um propósito como esse (ou então para se fazer uma abordagem como a que eu postei sobre porque eu não gosto de escrever comentários no código). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Louco por automatização! &#124; Guilherme Chapiewski</title>
		<link>http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/comment-page-1/#comment-35</link>
		<dc:creator>Louco por automatização! &#124; Guilherme Chapiewski</dc:creator>
		<pubDate>Wed, 15 Apr 2009 06:13:22 +0000</pubDate>
		<guid isPermaLink="false">http://guilherme.pro/?p=47#comment-35</guid>
		<description>[...] &#8220;Radical&#8221; e &#8220;extremo&#8221; são palavras que têm uma conotação muito negativa, mas ser radical ou extremo pode ser muito útil quando se tem um propósito como esse (ou então para se fazer uma abordagem como a que eu postei sobre porque eu não gosto de escrever comentários no código). [...]</description>
		<content:encoded><![CDATA[<p>[...] &#8220;Radical&#8221; e &#8220;extremo&#8221; são palavras que têm uma conotação muito negativa, mas ser radical ou extremo pode ser muito útil quando se tem um propósito como esse (ou então para se fazer uma abordagem como a que eu postei sobre porque eu não gosto de escrever comentários no código). [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

