Expressividade no código ou “Porque testes, código bem escrito e refactoring são melhores que qualquer documentação”

Interessantíssimo o artigo do Phillip Calçado, “Expressividade no código“. Nele, Phillip fala o que todo programador já está cansado de saber mas que a maioria finge não saber ou, simplesmente, acha “trabalhoso” demais. Afinal, desenvolvimento “Quick and Dirty” dá muito menos trabalho, não é?

Pior ainda é conseguir convencer gerentes disso. Gerentes são burocratas por natureza, possuem uma paixão inexplicável por papelada e documentação (que nem eles mesmo utilizam), adoram andar com livros grossos pregando a última “revolução” no mundo dos processos, caçando certificações como Cobit e PMI e, principalmente, não enxergando um palmo à frente do nariz. Não é por acaso que, hoje, a inovação vêm das startups e pequenos grupos de desenvolvedores pragmáticos que focam no que realmente importa: software simples, elegante e que resolve problemas.

Voltando ao artigo, a leitura é altamente recomendada. Com um exemplo simples e direto, Phillip constrói seu argumento com rara habilidade. Habilidade que só a experiência com desenvolvimento real é capaz de trazer.

Dica: documentação local das gems instaladas

Toda vez que você instala uma gem, sua documentação é gerada no formato RDoc (a não ser que você deixe explícito que esta não deve ser gerada). Para usar essa documentação local, basta executar o seguinte comando:

gem server

Após isso, aponte seu browser para localhost, na porta 8808 e você poderá acessar a documentação de todas as gems instaladas.

Dica via AlternateIdea.

Dica: como listar todas as rotas de uma aplicação?

À medida que sua aplicação Rails cresce e mais recursos (e recursos aninhados) são adicionados, começa a ficar mais difícil se lembrar de todas as rotas.

Para ajudar nisso existe uma tarefa Rake que lista todas as rotas nomeadas (named routes), assim como o método HTTP, controller e action correspondentes a cada uma.

Para criar um arquivo com todas essas informações, basta executar o seguinte comando em um terminal:

rake routes > routes.txt

Dica via RailsJitsu.

Novo PickAxe

Dave Thomas anunciou que o livro “Programming Ruby”, mais conhecido como PickAxe, chegou a sua terceira edição, voltada ao Ruby 1.9, e já está disponível em beta.

O livro é uma referência unânime em toda a comunidade. Altamente recomendado.

Para quem tem dificuldades com o inglês, uma boa referência em português é o livro “Ruby - Conhecendo a Linguagem“, de Eustáquio Rangel.

Novo plugin para caching

Evan Weaver lançou hoje o Interlock, um plugin Rails para caching com eficiência ótima, segundo o próprio autor.

Evan afirmou estar usando o plugin em produção no site Chow já há seis semanas e observou ganhos de velocidade entre 3 a 4 vezes em controllers que já utilizavam cache_fu e Sphinx.

Interlock usa memcached. Veja a documentação.

Rails 2.0 - Primeiro tutorial completo

Bom, eu estava começando a escrever sobre as mudanças no Rails com a versão 2.0, mas creio que agora isso não é mais necessário.

O Fábio Akita acaba de publicar um tutorial completo sobre o Rails 2.0, dividido em duas partes. Veja (por enquanto, apenas em inglês):

Mais alguns recursos interessantes:

Tradução de artigo - Aquecimento Ruby, parte 2: Métodos ausentes, móveis e manufaturados

Finalizando a série, Russ Olsen mostra técnicas mais exóticas para definição de métodos em Ruby.

Russ, obrigado novamente por autorizar a tradução de seus artigos. Boa sorte com o livro.
(Russ, thank you again for authorizing the translation of your articles. Good luck with the book.)

Artigo completo…

Curso online gratuito de Ruby

Satish Talim me pediu para divulgar a abertura de uma nova turma no curso online de Ruby ministrado por ele. Participei da segunda edição do curso neste ano e posso afirmar que o material é bom e os exercícios e desafios postados no fórum pelo Satish ajudam bastante a praticar.

A terceira edição terá início no dia 7 de janeiro de 2008. Siga as instruções nessa página para se matricular.

Rails: verificando a veracidade de endereços de e-mail

Para fazer validação de endereços de e-mail, geralmente utilizamos validates_format_of e expressões regulares.

Mas além de validar o formato da cadeia de caracteres, seria interessante também verificar se o endereço realmente existe. O plugin “E-mail Veracity” faz justamente isso e permite algumas configurações extras.

A idéia é muito boa pois evita, entre outras coisas, que um usuário fique sem receber e-mails devido a algum erro de digitação que mantenha o formato válido, mas resulte numa conta ou domínio inexistente (por exemplo, digitar @gmaol.com ao invés de @gmail.com).

Rails: guia para migrar para a versão 2.0

Ben Smith escreveu um pequeno guia para migração da versão 1.2.6 para a versão 2.0 do Rails. Ben também disponibilizou uma task Rake que verifica código obsoleto (deprecated) em uma aplicação Rails. Ben também escreveu sobre a criação de aplicações Rails compatíveis com o iPhone.

Outras boas fontes:

Next Page →