Pluralização no Rails e um pouco mais
05/02/07
Uma coisa muito comum entres as pessoas que estão começando a desenvolver em Ruby on Rails é desligar a pluralização, quase sempre para escrever os nomes dos modelos em português (codificar em português), onde as regras gramaticais são um pouco diferentes do inglês. E geralmente, isso é uma péssima idéia.
O Rails foi desenvolvido sob a máxima "Convention Over Configuration", que diz que é melhor seguir uma convenção que ter que realizar configurações para que seu aplicativo funcione. Quer usar em português? Sem problemas, mas você terá configurar as que mudar as regras de pluralização para funcionar com o português — como palavras terminas com "ção" — e se alguma regra não for satisfeita, terá que usar o set_table_name. Veja um exemplo que deixa ainda mais evidente, em termos de elegância:
@cliente = Cliente.find_by_nome "Nando Vieira"
Os "magic fields" como "created_at", "parent_id" e todos os outros terão que ser em inglês. Plugins como "acts_as_attachment", "acts_as_taggable" terão que ter os campos em inglês, a não ser que você queira modificá-los. Neste caso, boa sorte! ;)
E tem uma outra questão ligada a desenvolver códigos usando inglês ou não. Imagine que você fez um aplicativo super bacana, sucesso no mundo inteiro e uma empresinha chamada Google resolve comprar o seu projeto. Português??? Boa sorte… Pode parecer impossível, mas você simplesmente não sabe o que está por vir. E seguindo esta linha temos a parte de projetos Open Source.
Faça códigos em português e seu projeto está fadado à morte. Simples assim. Ele será usado se for muito bom e enquanto não surgir uma alternativa semelhante em inglês. Código em português só atraem colaboradores que falam português. O sentimento é o mesmo de quando você está procurando algum exemplo e cai em uma página em alemão, por exemplo. Você pode até olhar os códigos disponíveis na página, mas se uma dica estiver presente no meio do texto…
Você também abrirá portas para o mercado internacional. Hoje é muito fácil conseguir freelas no exterior. Basta ficar de olho em sites como o Programmer Meet Designer. São muito frequentes os trabalhos que podem ser realizados de qualquer lugar do mundo.
Um motivo forte para escrever em inglês? Torne seu código disponível para o mundo e abra-se para ele.
- Permalink
- Trackback
- Feed dos comentários
- Ao som de: This Providence – [untitled]

Comentários #
Não mexi com Rails, mas você poderia passar mais dicas de sites como esse?
Interessante esse seu ponto de vista, acho que o caminho é por ai mesmo, o unico problema é que nas empresas ainda existem uma certa resistência para adotar essa política de programar tudo em ingles, ainda mais quando se trata de morar no interior de SP, meu caso, a piãozada não sabe nem o português direito, vai arriscar no inglês? hehehehe…
Abraços
Pois é, inclusive eu ia te perguntar se você tinha desenvolvido o Spesa em inglês. Pelo que pude perceber do sistema e por este post, parece que sim. :)
Você comenta os códigos em inglês também? E quanto à modelagem, dicionário de dados do banco, etc… tudo em inglês?
@Jeferson: Comentários em inglês, mas modelagem e dicionário de dados não faço.
Uso o plugin Annotate[1].
[1] http://pragdave.pragprog.com/pragdave/2006/02/annotate_models.html
@Gobr: entra neste post do rubyonbr[1].
[1]http://forum.rubyonbr.org/forums/1/topics/433
Não, eu queria sites tipo o Programmers Meet Desingers. XD
É que eu postei pensando no site então ficou redundante.
Compartilho do exato mesmo ponto de vista que tu, Nando.
Uma das coisas que mais me chamou a atenção em Ruby, quando comecei, foi a legibilidade e a elegância de que se é possível escrever códigos. O português misturado com o inglês estraga isso, fica difícil manter a beleza do código.
Convenções não são regras, mas com certeza são seus amigos! ;)
+1 comigo. Código tudo em inglês. Até pq no trampo q estou o código é vistoriado por gringos, então não tem como escapar.
Só que não é simples, com certeza. Principalmente qdo vc está programando para algum negócio especializado, tipo a área de saúde ou contábil. Por exemplo, como achar as traduções para "nota fiscal", "extrato", "cardiopulmonar", "traquéia", "patela"… Não é fácil, não.
Isso q às vezes vc acha a tradução q _não_ corresponde ao jargão técnico realmente utilizado, então, apesar de ser a solução ideal, dá trabalho.
É, isso é verdade, às vezes por falta de conhecer algum termo técnico mais específico (e não ter tanto tempo hábil para procurar…) um ou outro errinho acaba escapando.
Mas certamente, na maioria dos casos, um código todo em inglês facilita muito na hora de ler ou manter esse código.
[]'s
Klaus Paiva
http://blog.klaus.pro.br/
Bem,
Sou a favor de escrever o código em inglês.Eu particularmente não faço nenhum modelo de dados nem programação em português. Tudo meu é em inglês mesmo antes de programar em Ruby.
Desde o código em si até a nomenclatura de arquivos.
Uma das aplicações web que desenvolvi utiliza inclusive a url em inglês tipo http://url/pt-BR/signup para a página de inscrição.
Nomes de imagens: images/btn/btn_submit.pt-BR.png
Cheguei esta conclusão a tempo, depois de muitas conversas com colaboradores que trabalham comigo.
Farei um post no meu blog sobre isso!
Abraços
Deixe um comentário