<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AgileZ &#187; legibilidade</title>
	<atom:link href="http://www.brasiltech.net/agilez/tag/legibilidade/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brasiltech.net/agilez</link>
	<description>Metodologias e técnicas aplicadas a desenvolvimento e gerenciamento</description>
	<lastBuildDate>Sun, 25 Jul 2010 19:38:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Coment&#225;rios no c&#243;digo. At&#233; aonde ir?</title>
		<link>http://www.brasiltech.net/agilez/2009/08/15/como-comentar-seu-codigo-fonte-de-forma-eficaz/</link>
		<comments>http://www.brasiltech.net/agilez/2009/08/15/como-comentar-seu-codigo-fonte-de-forma-eficaz/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 11:59:32 +0000</pubDate>
		<dc:creator>Douglas Cunha</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[comentários]]></category>
		<category><![CDATA[legibilidade]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2009/08/15/como-comentar-seu-codigo-fonte-de-forma-eficaz/</guid>
		<description><![CDATA[Existe uma cultura entre os programadores na qual a máxima &#8216;use comentários sempre que puder e deixe seu código bem explicado&#8217; é praticamente uma lei fundamental da programação. Pouca gente discute isso, afinal, nada como um código bem documentado para torná-lo legível, certo? Nem sempre. E é sobre esta questão que eu vou falar neste [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/codigo.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="codigo" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/codigo_thumb.png" border="0" alt="codigo" width="547" height="62" /></a></p>
<p>Existe uma cultura entre os programadores na qual a máxima &#8216;use comentários sempre que puder e deixe seu código bem explicado&#8217; é praticamente uma lei fundamental da programação. Pouca gente discute isso, afinal, nada como um código bem documentado para torná-lo legível, certo? Nem sempre. E é sobre esta questão que eu vou falar neste artigo. Quando devemos usar comentários? Até que ponto comentar é uma boa prática? Existem outros artifícios que podemos usar para substituir um comentário?</p>
<p>Para começar, vamos voltar um pouco pela história. Há muito tempo, os compiladores tinham uma limitação de memória, onde existia um limite de caracteres por arquivo compilável. Em consequência disso, os programadores eram obrigados a serem muito seletivos e econômicos ao codificar, usando o menor número de caracteres para nomes de operações, variáveis e etc. Imagine um complexo código de ordenação onde todas as variáveis tivessem apenas <strong>um </strong>caractere. A primeira variável seria a variável &#8216;a&#8217;, a segunda &#8216;b&#8217;, a terceira &#8216;c&#8217;. Qual seria sua reação, ao &#8216;tentar&#8217; ler esse código? Um pouco confuso, provavelmente. Nessa hora qualquer um rezaria por encontrar um código bem comentado.<span id="more-27"></span></p>
<pre class="c-sharp">Integer a = 0; //armazena o maior valor encontrado</pre>
<p>Nota-se que a origem dos comentários teve motivações bem legítimas, e eram praticamente indispensáveis.</p>
<p>Desde então, os compiladores evoluíram, o hardware mudou muito, e hoje, finalmente, não temos problema algum relacionado a limite de memória (pelo menos não significativamente) que nos limite na hora de codificar. Porém, muito da antiga cultura ainda permaneceu. Programadores mais antigos não abriram mão de suas variáveis de um caractere e continuam usando comentários para explicá-las, influenciando muitos os novos programadores, e nem todos conseguem chegar a um nível de maturidade suficiente para superar esse limite auto imposto.</p>
<p>Veja como, na linha abaixo, o comentário torna-se desnecessário, ao contrário do código anterior.</p>
<pre class="c-sharp">Integer maiorValor = 0; //armazena o maior valor encontrado</pre>
<p>Como não temos mais o limite de memória, fica fácil nomear a variável de forma a um comentário se tornar insignificante. Uma outra questão também deve ser citada: temos mais facilidade em descrever uma coisa do que dar nomes. Talvez por isso muitos programadores preferem comentar a ter que pensar em um nome que descreva o motivo da variável, função, classe e etc. Mas, mesmo assim, um bom nome é melhor e deixa o código mais fácil de ser lido e entendido. Vale a pena investir mais tempo para elaborar melhor os nomes em seu código.</p>
<p><a rel="nofollow" href="http://en.wikipedia.org/wiki/Martin_Fowler" target="_blank">Martin Fowler</a> costuma dizer que, se seu código precisa de comentários para ser entendido, então é porque ele não está bem escrito. Essa idéia está presente também nessa outra frase bem conhecida, também de sua autoria.</p>
<blockquote><p>Qualquer tolo pode escrever código que um computador pode compreender, mas bons programadores escrevem códigos que os seres humanos possam compreender. [Fowler 2000]</p></blockquote>
<p>É lógico que não podemos ser extremistas a ponto de abolir os comentários do nosso código. Muito pelo contrário. Existem ocasiões – não raras – onde comentar é essencial ou, no mínimo, construtivo.</p>
<pre class="c-sharp">/*usei int p/ manter compatibilidade com uso da dll xz.dll*/

int indice;</pre>
<p>Antes de comentar uma linha, devemos sempre nos perguntar se o comentário agrega algo, ou se apenas tenta desfazer a confusão que foi gerada pelo código. Como insistirei frequentemente daqui pra frente: bom senso é sempre fundamental.</p>
<p>Atualmente, como parte dos estudos dos princípios Grasp (abordarei o que é Grasp aqui no AgileZ em breve), na equipe em que trabalho, adotamos o costume de documentar a &#8216;motivação&#8217; que levou uma classe a ser desenvolvida, usando para isso um comentário – de no máximo umas 3 linhas – que explica o motivo da classe existir. Isso, como veremos em artigos futuros, é bem interessante e é parte de uma metodologia adotada por nossa equipe.</p>
<p>Passou longe do objetivo deste breve artigo a intenção de esgotar o assunto. Pretendo voltar discutir a questão de comentários no código quando falar sobre refatoração e também sobre usabilidade aplicada a codificação. Continuem ligados.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2009/08/15/como-comentar-seu-codigo-fonte-de-forma-eficaz/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
