<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>%w(Akita On Rails) * 2.0 - Quick and Clean Comments</title>
  <id>tag:www.akitaonrails.com,2008:/2007/2/21/quick-and-clean/comments</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean/comments.xml" rel="self" type="application/atom+xml"/>
  <link href="/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
  <updated>2007-07-13T17:44:58Z</updated>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Rafael Ferreira</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:448</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Rafael Ferreira</title>
<content type="html">&lt;p&gt;Acordei pedante hoje e nao consigo evitar de comentar uma minuncia irrelevante.&lt;/p&gt;


	&lt;p&gt;Quando voce diz &lt;cite&gt;&#8220;Ruby não tem essas proteções. Linguagens como Ruby, Python, Haskell, O’Caml, foram feitas para bons programadores, aqueles que sabem exatamente o que estão fazendo&#8221;&lt;/cite&gt; alguem que nao conheca bem estas linguagens pode ficar com uma impressao errada. So para deixar bem claro, Haskell e O&#8217;Caml sao linguagens estaticamente tipadas. Haskell especificamente tem um sistema de tipos fortissimo.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Frederico</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:447</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Frederico</title>
<content type="html">&lt;p&gt;A &#8220;diet dos Controllers&#8221; no rubyonbr eh um articulo bom. bom trabalho na traducao pra portugues&#8230; 
mas sera quem foi que escolheu esse nome para portugues? &#8220;diet dos Controllers&#8221; :D hehehe&lt;/p&gt;


	&lt;p&gt;aqui tem um articulo muito bom, que vale a pena ser traduzido pra portug. 
http://somethinglearned.com/articles/2006/05/24/best-practices-a-strong-case-for-attr_accessible-part-2&lt;/p&gt;


	&lt;p&gt;o articulo fala sobre o bom uso de  attr_accessors  e como eh facil de modificar dados da mensagem &lt;span class=&quot;caps&quot;&gt;POST&lt;/span&gt; no protocolo &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;por exemplo, o usuario tem um campo &#8220;admin&#8221; que por defeito eh &#8220;false&#8221; quando o usuario se registra ele poderia adicionar user&lt;a href=&quot;admin&quot;&gt;admin&lt;/a&gt;=true na mensagem  &lt;span class=&quot;caps&quot;&gt;POST&lt;/span&gt;&#8230;&lt;/p&gt;


	&lt;p&gt;principalmente o uso de user.product_ids&lt;/p&gt;


	&lt;p&gt;ja que o usuario poderia tomar conta de todos os produtos&#8230;&lt;/p&gt;


	&lt;p&gt;(user has_many products)&lt;/p&gt;


	&lt;p&gt;www.Frederico-araujo.com&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>AkitaOnRails</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:446</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by AkitaOnRails</title>
<content type="html">&lt;p&gt;Ainda não é uma resposta completa como você falou, mas neste &lt;a href=&quot;http://devblog.famundo.com/articles/2007/02/26/how-far-should-the-models-go&quot;&gt;link&lt;/a&gt; tem uma introdução. Assim como minha última coluna na RubyOnbr que mencionei neste post.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>antoni0</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:445</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by antoni0</title>
<content type="html">&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;MVC&lt;/span&gt; sempre será um assunto desafiador. Na maioria das vezes, concentrar as regras nos modelos parecem ótimas e por assim dizer são até &#8216;leis&#8217;. No entanto, o cenário é diferente quando a aplicação é complexa.&lt;/p&gt;


	&lt;p&gt;A aplicação pode adquirir comportamentos que são tão complexos que iniciam desde o roteamento dos controladores e fica dificil concentra-la apenas nos modelos. Fluxos, navegações, interações são exemplos.&lt;/p&gt;


	&lt;p&gt;Por sua vez, os controladores podem ter complexidades acidentais como hierarquização (isso é comum em jogos no qual você não pode escolher a personagem sem antes ter feito a autenticação)&lt;/p&gt;


	&lt;p&gt;&#8216;Modelos dão significados aos dados&#8217; e aplicação das regras do negócio deveriam ficar nos modelos, mas não como regra, apeans por conveniência.&lt;/p&gt;


	&lt;p&gt;Talvez com aplicações web isso faça muito significado, pois é fácil aplicar um &lt;span class=&quot;caps&quot;&gt;MVC&lt;/span&gt;. Mas em outras áreas no qual os modelos vão além de &#8216;algo junto ao banco de dados&#8217;, não é tão simples como deveria.&lt;/p&gt;


	&lt;p&gt;Esperamos ver um artigo seu dedicado ao &lt;span class=&quot;caps&quot;&gt;MVC&lt;/span&gt;!!&lt;/p&gt;


	&lt;p&gt;t+&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>AkitaOnRails</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:444</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by AkitaOnRails</title>
<content type="html">&lt;p&gt;Excelente texto, gostei dele. E quanto ao loop no select * é verdade, eu mesmo já encontrei código assim. Isso se explica em parte se o programador veio da época Clipper, Paradox e derivados. Não havia algo tão forte como &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt;. Fazer &#8220;joins&#8221; não era trivial, principalmente para iniciantes. E a primeira página de muitos tutoriais de &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt; é justamente um select *. A maioria não pula da primeira página e as boas documentações estão em inglês. Depois da primeira página todo mundo acha que já &#8220;entendeu&#8221; &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt;: &#8220;ok, é fácil, basta puxar tudo, fazer um loop e pronto&#8221;. Ninguém pára para pensar que os dados trafegam via rede de um servidor para outro, que os dados &#8220;puxados&#8221; vão para a memória, que os dados precisam gastar ciclos de processador para serem processados (por definição). No fim o sistema fica lento como uma carroça e a solução está na ponta da língua: &#8220;esse servidor já é muito velho, precisa fazer upgrade, colocar mais memória, etc&#8221;. isso seria cômico se não fosse desastroso.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Walter Cruz</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:443</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Walter Cruz</title>
<content type="html">&lt;p&gt;Me lembrou um texto antigo, básico, mas bacaninha: http://www.1bit.com.br/content.1bit/bom_programador&lt;/p&gt;


	&lt;p&gt;Uma vez eu conheci um cara que não fazia &lt;span class=&quot;caps&quot;&gt;JOINS&lt;/span&gt;. Ele fazia &lt;span class=&quot;caps&quot;&gt;SELECT&lt;/span&gt; * em todas as tabelas, fazia loops for malucos e se achava o maior. Não é mentira. Nem piada. Infelizmente.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Samir</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:442</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Samir</title>
<content type="html">&lt;p&gt;Muito bom seu artigo Akita, ja faz 3 meses que comprei o livro e todo santo dia fico recapitulando alguns artigos.&lt;/p&gt;


	&lt;p&gt;Abraços&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Clovis</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:441</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Clovis</title>
<content type="html">&lt;p&gt;RoR realmente um ambiente muito bom para quem ja é experienciado.&lt;/p&gt;


	&lt;p&gt;Uma coisa que me ajudou a entender como funciona o Active Record foi fazendo testes de includes, e finds, e visualizando o sql gerado no .log&lt;/p&gt;


	&lt;p&gt;Para quem ja entende de sql, da pra tirar um bom resultado disso.&lt;/p&gt;


	&lt;p&gt;[]s&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Ronie Uliana</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:440</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Ronie Uliana</title>
<content type="html">&lt;p&gt;Grande post.&lt;/p&gt;


	&lt;p&gt;Me lembra algo q li em algum lugar que era mais ou menos assim:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Tentar criar uma linguagem de programação poderosa que proteja o programador é como criar uma faca afiada que não corte o dedo.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Ou seja, a linguagem não é o problema, é a solução, o problema é quem opera ela :D&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Antelio I. Abe</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:439</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Antelio I. Abe</title>
<content type="html">&lt;p&gt;Em poucas palavras: &lt;span class=&quot;caps&quot;&gt;NO PAIN&lt;/span&gt;, NO &lt;span class=&quot;caps&quot;&gt;GAIN&lt;/span&gt;!&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>AkitaOnRails</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:438</id>
    <published>2007-07-13T17:21:04Z</published>
    <updated>2007-07-13T17:21:04Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by AkitaOnRails</title>
<content type="html">&lt;p&gt;Sim, esse é o livro de Chad Fowler, mas o &#8220;livro&#8221; que eu cito no texto de fato é o meu (Repensando a Web com Rails &#8211; fonte para quem precisa de documentação em português). Mas deixando o &#8220;momento-propaganda&#8221; de lado, também recomendo o Rails Recipe que você falou, é uma excelente fonte de boas técnicas e dicas.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Leonardo Marques</name>
    </author>
    <id>tag:www.akitaonrails.com,2007-02-21:130:437</id>
    <published>2007-07-13T17:21:03Z</published>
    <updated>2007-07-13T17:21:03Z</updated>
    <category term="Colunas"/>
    <category term="Opini&#245;es"/>
    <link href="http://www.akitaonrails.com/2007/2/21/quick-and-clean" rel="alternate" type="text/html"/>
    <title>Comment on 'Quick and Clean' by Leonardo Marques</title>
<content type="html">&lt;p&gt;Muito bom o post. Acho que vale a pena colocar um link para o livro que é citado algumas vezes no texto, acredito que seja o Rails Recipes http://www.pragmaticprogrammer.com/titles/fr_rr/&lt;/p&gt;</content>  </entry>
</feed>
