<?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>Comentários sobre: Por que o código dos outros é sempre ruim?</title>
	<atom:link href="http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/</link>
	<description>Blog pessoal do Beck Novaes</description>
	<lastBuildDate>Mon, 30 Aug 2010 17:50:40 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Por: Victor Carvalho Tavernari</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-52119</link>
		<dc:creator>Victor Carvalho Tavernari</dc:creator>
		<pubDate>Tue, 12 Jan 2010 14:55:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-52119</guid>
		<description>Beck Novaes,

Muito interessante este post, e de fato tem razão sobre a refatoração! Mas não podemos esquecer do planejamento do projeto, com uma boa direção o projeto sairá bem feito.

Sobre perde tempo fazendo códigos bons onde não precisava, acho meio ruim este termo, pois todo o projeto precisa de códigos bons, sei que os prazos são apertados,porém o que diferencia um software do outro é a qualidade geral, não adianta nada você fazer um super calculadora que você coloca um valor apenas e te retorna a previsão do tempo, se a interface e detalhes &quot;irrelevantes&quot; não estiverem bem programado, estamos na era RIA, onde as transições e &quot;firulas&quot; são tão relevantes quanto o &quot;background&quot; do projeto. 

Este é um assunto subjetivo onde existem varias opiniões, e não se deve esquecer que existem situações para cada caso.
  
Mas entendo que é realmente difícil definir o que é ou não relevante no projeto... mas é um ponto importante.

enfim.. gostei do post muito bom.. só fui ler hoje, em 2010 hehehe.. 

abracos parabens pelo trabalho</description>
		<content:encoded><![CDATA[<p>Beck Novaes,</p>
<p>Muito interessante este post, e de fato tem razão sobre a refatoração! Mas não podemos esquecer do planejamento do projeto, com uma boa direção o projeto sairá bem feito.</p>
<p>Sobre perde tempo fazendo códigos bons onde não precisava, acho meio ruim este termo, pois todo o projeto precisa de códigos bons, sei que os prazos são apertados,porém o que diferencia um software do outro é a qualidade geral, não adianta nada você fazer um super calculadora que você coloca um valor apenas e te retorna a previsão do tempo, se a interface e detalhes &#8220;irrelevantes&#8221; não estiverem bem programado, estamos na era RIA, onde as transições e &#8220;firulas&#8221; são tão relevantes quanto o &#8220;background&#8221; do projeto. </p>
<p>Este é um assunto subjetivo onde existem varias opiniões, e não se deve esquecer que existem situações para cada caso.</p>
<p>Mas entendo que é realmente difícil definir o que é ou não relevante no projeto&#8230; mas é um ponto importante.</p>
<p>enfim.. gostei do post muito bom.. só fui ler hoje, em 2010 hehehe.. </p>
<p>abracos parabens pelo trabalho</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Fabio</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-19176</link>
		<dc:creator>Fabio</dc:creator>
		<pubDate>Fri, 24 Jul 2009 19:13:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-19176</guid>
		<description>Por favor como consigo entrar em contato com o Beck Novaes??

obrigado</description>
		<content:encoded><![CDATA[<p>Por favor como consigo entrar em contato com o Beck Novaes??</p>
<p>obrigado</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Elvis Fernandes</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18708</link>
		<dc:creator>Elvis Fernandes</dc:creator>
		<pubDate>Wed, 15 Jul 2009 16:58:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18708</guid>
		<description>E aí, Beck!

Falou tudo agora. Me lembrei de um tempo atrás quando eu pedi um prazo maior para liberar novas funcionalidades no sistema porque era necessário fazer um refactoring... me olharam com uma cara estranha ... os prazos são sempre muito curtos, e as necessidades de negócio são reais. Identificar com precisão as Partes Relevantes logo no começo é importantíssimo, e difícil de se fazer.

Abraço!

Elvis Fernandes</description>
		<content:encoded><![CDATA[<p>E aí, Beck!</p>
<p>Falou tudo agora. Me lembrei de um tempo atrás quando eu pedi um prazo maior para liberar novas funcionalidades no sistema porque era necessário fazer um refactoring&#8230; me olharam com uma cara estranha &#8230; os prazos são sempre muito curtos, e as necessidades de negócio são reais. Identificar com precisão as Partes Relevantes logo no começo é importantíssimo, e difícil de se fazer.</p>
<p>Abraço!</p>
<p>Elvis Fernandes</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Marcelo de Francisco</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18681</link>
		<dc:creator>Marcelo de Francisco</dc:creator>
		<pubDate>Wed, 15 Jul 2009 12:46:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18681</guid>
		<description>Beck,

Eu entendo o teu ponto de vista, porém não acho que é perda de tempo fazer um bom código mesmo pra funcionalidades que o cliente não usará, se essas funcionalidades foram previstas e orçadas, o problema do não uso é do cliente, a partir do momento que ele solicitou e pagou eu tenho que fazer bem feito. Acho interessante os métodos ágeis, porém, o que tenho visto é que as empresas que tenham um método de desenvolvimento mais burocrático como o CMMI ou MPS/Br têm mais credibilidade que os que usam o XP por exemplo.
Quero deixar claro que não sou contra os modelos ágeis, mas eu penso que tudo que é combinado não é caro e se o cliente pedir algo que não foi combinado o cronograma e o orçamento do projeto devem ser alterado.

Um abraço,
Marcelo de Francisco</description>
		<content:encoded><![CDATA[<p>Beck,</p>
<p>Eu entendo o teu ponto de vista, porém não acho que é perda de tempo fazer um bom código mesmo pra funcionalidades que o cliente não usará, se essas funcionalidades foram previstas e orçadas, o problema do não uso é do cliente, a partir do momento que ele solicitou e pagou eu tenho que fazer bem feito. Acho interessante os métodos ágeis, porém, o que tenho visto é que as empresas que tenham um método de desenvolvimento mais burocrático como o CMMI ou MPS/Br têm mais credibilidade que os que usam o XP por exemplo.<br />
Quero deixar claro que não sou contra os modelos ágeis, mas eu penso que tudo que é combinado não é caro e se o cliente pedir algo que não foi combinado o cronograma e o orçamento do projeto devem ser alterado.</p>
<p>Um abraço,<br />
Marcelo de Francisco</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Beck Novaes</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18680</link>
		<dc:creator>Beck Novaes</dc:creator>
		<pubDate>Wed, 15 Jul 2009 12:14:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18680</guid>
		<description>Marcelo, 

O maior problema é que o Software muda o tempo todo durante o ciclo de desenvolvimento - não é atoa que todo produto do Google fica em Beta durante vários anos. O cliente nunca sabe o que quer e a gerência de requisitos não é perfeita. Quantas vezes não perdemos tempo implementando coisas que na verdade não servem pra nada? Sabe aquelas funcionalidade que o usuário pede e depois ele raramente usa? E você perdeu um baita tempo implementando da melhor forma possível? Este é um dos motivos da Refatoração. Além, é claro, dos inúmeros outros que podem ser visto no livro de um dos maiores conhecedores de desenvolvimento de Software e OOP do mundo: Martin Fowler. Ele e o Kent Beck que cunharam o termo Refatoração. Hoje em dia todo IDE descente tem funcionalidades para suporte à Refatoração. De modo que se as empresas que Desenvolvem IDEs acham isso importante e as pessoas que conhecem muito sobre Desenvolvimento de Software também acham, deve haver algum motivo. E não acredito que é porque eles são incapazes de fazer bem feito desde o início. Ao contrário, acho que eles são os maiores interessados em não perder tempo.

[]&#039;s</description>
		<content:encoded><![CDATA[<p>Marcelo, </p>
<p>O maior problema é que o Software muda o tempo todo durante o ciclo de desenvolvimento &#8211; não é atoa que todo produto do Google fica em Beta durante vários anos. O cliente nunca sabe o que quer e a gerência de requisitos não é perfeita. Quantas vezes não perdemos tempo implementando coisas que na verdade não servem pra nada? Sabe aquelas funcionalidade que o usuário pede e depois ele raramente usa? E você perdeu um baita tempo implementando da melhor forma possível? Este é um dos motivos da Refatoração. Além, é claro, dos inúmeros outros que podem ser visto no livro de um dos maiores conhecedores de desenvolvimento de Software e OOP do mundo: Martin Fowler. Ele e o Kent Beck que cunharam o termo Refatoração. Hoje em dia todo IDE descente tem funcionalidades para suporte à Refatoração. De modo que se as empresas que Desenvolvem IDEs acham isso importante e as pessoas que conhecem muito sobre Desenvolvimento de Software também acham, deve haver algum motivo. E não acredito que é porque eles são incapazes de fazer bem feito desde o início. Ao contrário, acho que eles são os maiores interessados em não perder tempo.</p>
<p>[]&#8216;s</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Marcelo de Francisco</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18675</link>
		<dc:creator>Marcelo de Francisco</dc:creator>
		<pubDate>Wed, 15 Jul 2009 11:42:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18675</guid>
		<description>Acho que refatoração é um retrabalho. Na minha opinião o código deve ser implementado da melhor maneira possível, não importando se é relevante ou não. Vejo que o importante é você ter um padrão e desde que seja produtivo e de qualidade não haverá a necessidade de refatoração. 
As técnicas de desenvolvimento estão em constante evolução, se refatorarmos sempre que evoluirmos, nosso código nunca ficará pronto. 
Levando-se em conta que o tempo é escasso e precioso, o importante é o reaproveitamento do código e melhorá-lo sempre com as lições aprendidas em um novo projeto.  

Um abraço,
Marcelo de Francisco</description>
		<content:encoded><![CDATA[<p>Acho que refatoração é um retrabalho. Na minha opinião o código deve ser implementado da melhor maneira possível, não importando se é relevante ou não. Vejo que o importante é você ter um padrão e desde que seja produtivo e de qualidade não haverá a necessidade de refatoração.<br />
As técnicas de desenvolvimento estão em constante evolução, se refatorarmos sempre que evoluirmos, nosso código nunca ficará pronto.<br />
Levando-se em conta que o tempo é escasso e precioso, o importante é o reaproveitamento do código e melhorá-lo sempre com as lições aprendidas em um novo projeto.  </p>
<p>Um abraço,<br />
Marcelo de Francisco</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Beck Novaes</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18611</link>
		<dc:creator>Beck Novaes</dc:creator>
		<pubDate>Wed, 15 Jul 2009 03:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18611</guid>
		<description>&gt; Pensar em código bem feito em partes relevantes, 
&gt; particularmente, é pensar pequeno.

Cada um tem sua opinião e isso deve ser respeitado, obviamente. Mas seria bom que, principalmente aqueles que criticam, tivessem a coragem de deixar o seu nome verdadeiro.

Eu, ao contrário de &quot;pensar pequeno&quot;, chamaria isso de &quot;ser realista&quot;. E a realidade é que o mercado, o prazo e o custo nos pressiona o tempo todo com relação a qualidade do código. Eu trabalho com desenvolvimento de Software há 10 anos e posso afirmar que na maioria dos casos as Best-Practices vão pro saco na hora que o bicho pega. E muitas vezes o bicho pega porque perde-se tempo fazendo o que não precisava. Assim, as Best-Practices de hoje acabam, ironicamente, gerando as Bad-Practices de amanha. Eu vejo isso acontecer com muita freqüência. 

Sim, é preciso planejamento. Sim, é preciso metodologia. Mas isto já é um tanto evidente, não é mesmo? Isto todo mundo já fala há muito tempo. O que não é evidente e que eu quis trazer a tona é que dadas as condições realistas do mercado a saída é priorizar, focar, refatorar e ter a consciência que você só vai saber o que precisava ser feito de verdade próximo do final do projeto. Ao contrário de pensar pequeno isto é querer fazer o melhor trabalho possível onde realmente faz a diferença... assim até sobra tempo para fazer cada vez mais e melhor... para fazer, inclusive, funcionalidades não previstas mas que agregam muito mais valor ao produto final do que um código lindo e desnecessário que nunca será modificado e que nada significa para o usuário. O pensar grande e querer aplicar as super técnicas, as super best-practices e os super Design Patterns desde o início, onde talvez não seja necessário, é que pode fazer o programador quebrar a cara. </description>
		<content:encoded><![CDATA[<p>&gt; Pensar em código bem feito em partes relevantes,<br />
&gt; particularmente, é pensar pequeno.</p>
<p>Cada um tem sua opinião e isso deve ser respeitado, obviamente. Mas seria bom que, principalmente aqueles que criticam, tivessem a coragem de deixar o seu nome verdadeiro.</p>
<p>Eu, ao contrário de &#8220;pensar pequeno&#8221;, chamaria isso de &#8220;ser realista&#8221;. E a realidade é que o mercado, o prazo e o custo nos pressiona o tempo todo com relação a qualidade do código. Eu trabalho com desenvolvimento de Software há 10 anos e posso afirmar que na maioria dos casos as Best-Practices vão pro saco na hora que o bicho pega. E muitas vezes o bicho pega porque perde-se tempo fazendo o que não precisava. Assim, as Best-Practices de hoje acabam, ironicamente, gerando as Bad-Practices de amanha. Eu vejo isso acontecer com muita freqüência. </p>
<p>Sim, é preciso planejamento. Sim, é preciso metodologia. Mas isto já é um tanto evidente, não é mesmo? Isto todo mundo já fala há muito tempo. O que não é evidente e que eu quis trazer a tona é que dadas as condições realistas do mercado a saída é priorizar, focar, refatorar e ter a consciência que você só vai saber o que precisava ser feito de verdade próximo do final do projeto. Ao contrário de pensar pequeno isto é querer fazer o melhor trabalho possível onde realmente faz a diferença&#8230; assim até sobra tempo para fazer cada vez mais e melhor&#8230; para fazer, inclusive, funcionalidades não previstas mas que agregam muito mais valor ao produto final do que um código lindo e desnecessário que nunca será modificado e que nada significa para o usuário. O pensar grande e querer aplicar as super técnicas, as super best-practices e os super Design Patterns desde o início, onde talvez não seja necessário, é que pode fazer o programador quebrar a cara.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Smk</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18600</link>
		<dc:creator>Smk</dc:creator>
		<pubDate>Wed, 15 Jul 2009 02:25:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18600</guid>
		<description>Sinceramente, 
Pensar em código bem feito em partes relevantes, particularmente, é pensar pequeno.

A muito tempo que se bate na tecla das best-practices.
Todo o código tem de ter qualidade, não apenas partes dele.</description>
		<content:encoded><![CDATA[<p>Sinceramente,<br />
Pensar em código bem feito em partes relevantes, particularmente, é pensar pequeno.</p>
<p>A muito tempo que se bate na tecla das best-practices.<br />
Todo o código tem de ter qualidade, não apenas partes dele.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Vítor Avelino</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18599</link>
		<dc:creator>Vítor Avelino</dc:creator>
		<pubDate>Wed, 15 Jul 2009 02:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18599</guid>
		<description>Falou bonito, Beck. Mas para isso acontecer é necessário, também, um bom planejamento como bem disse o Ved; o que muitas vezes é deixado de lado na maioria dos casos devido ao prazo.

Acho preferível priorizar qualidade de design, código e testes a adicionar N funcionalidades e depois ficar se perguntando da merda que foi escrita. Porém o cliente, muitas vezes, não entende isso. Qualidade de software para um cliente &quot;leigo&quot; é diferente da qualidade de software para o desenvolvedor.

Outro aspecto que conta bastante é a metodologia de desenvolvimento da equipe e como ela se comporta em relação a essa.

Enfim, daria um belo livro toda essa conversa. =P

Abraço,
Vítor Avelino.</description>
		<content:encoded><![CDATA[<p>Falou bonito, Beck. Mas para isso acontecer é necessário, também, um bom planejamento como bem disse o Ved; o que muitas vezes é deixado de lado na maioria dos casos devido ao prazo.</p>
<p>Acho preferível priorizar qualidade de design, código e testes a adicionar N funcionalidades e depois ficar se perguntando da merda que foi escrita. Porém o cliente, muitas vezes, não entende isso. Qualidade de software para um cliente &#8220;leigo&#8221; é diferente da qualidade de software para o desenvolvedor.</p>
<p>Outro aspecto que conta bastante é a metodologia de desenvolvimento da equipe e como ela se comporta em relação a essa.</p>
<p>Enfim, daria um belo livro toda essa conversa. =P</p>
<p>Abraço,<br />
Vítor Avelino.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ved</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/comment-page-1/#comment-18585</link>
		<dc:creator>Ved</dc:creator>
		<pubDate>Wed, 15 Jul 2009 00:31:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.becklog.org/?p=238#comment-18585</guid>
		<description>Beck, atualmente temos desenvolvido na RIA Labs da forma como sempre sonhamos: com tempo para desenvolvimento. Isso não tem acontecido por acaso, mas devido a uma política de planejamento dos novos contratos, que ao serem assinados, pedem um prazo factível, com o máximo de detalhamento possível sendo mostrado claramente para o cliente.

Numa situação como essa, é possível sim escrever código bom, mas num ambiente inóspito e insalubre, como em agências de publicidade, por exemplo, escrever código de qualidade é praticamente impossível! Os prazos simplesmente não deixam.

Mas acredito que com a profissionalização constante dos desenvolvedores, isso tem se modificado. 

Escrever um código bom é muito gratificante!

Grande abraço,

Ved</description>
		<content:encoded><![CDATA[<p>Beck, atualmente temos desenvolvido na RIA Labs da forma como sempre sonhamos: com tempo para desenvolvimento. Isso não tem acontecido por acaso, mas devido a uma política de planejamento dos novos contratos, que ao serem assinados, pedem um prazo factível, com o máximo de detalhamento possível sendo mostrado claramente para o cliente.</p>
<p>Numa situação como essa, é possível sim escrever código bom, mas num ambiente inóspito e insalubre, como em agências de publicidade, por exemplo, escrever código de qualidade é praticamente impossível! Os prazos simplesmente não deixam.</p>
<p>Mas acredito que com a profissionalização constante dos desenvolvedores, isso tem se modificado. </p>
<p>Escrever um código bom é muito gratificante!</p>
<p>Grande abraço,</p>
<p>Ved</p>
]]></content:encoded>
	</item>
</channel>
</rss>
