Domain-Driven Design e Rails: Temendo um futuro próximo
Abril 1, 2008
Definitivamente, escrever software é uma arte!
E a preocupação com a qualidade dessa arte que criamos deveria ser uma constante em nós desenvolvedores!
Deveria….
Ao reler um antigo post do “Shoes”, baseado numa (ainda mais antiga) entrevista com Eric Evans na InfoQ, não pude deixar de lembrar de um post do Ronaldo de uns tempos atrás, no qual ele mencionava sua preocupação com relação a qualidade dos códigos atualmente _escritos_ no melhor estilo Rails Way.
Embora o Ronaldo tenha destacado o aspecto da mistura de lógica com a apresentação, comecei a refletir sobre a quantidade de má-representações de domínios de negócio que devem estar espalhadas por aí em aplicações Rails da atualidade. E confesso que isso também me preocupa!
Faz algum tempo que acompanho a lista Rails-BR, mesmo sem postar quase nada por lá. (Inclusive, lá não é o único lugar que tenho deixado de postar alguma coisa. Mas, sabe como é.. A vida de casado é um pouco mais atarefada que muitos imaginam!
)
Na grande maioria dos posts que vejo na lista Rails-BR, e na comunidade Rails brasileira como um todo, não vejo muita preocupação com o design da aplicação e uma boa representação dos domínios de negócio. (Será uma característica da adoção em massa de um hyppe?) Ao contrário, nos deparamos muito com a polida beleza de um domínio “doentio“, pobre em representação, com uma raison d’être resumida a mais uma triste estrutura de dados.
Diferentemente do que alguns pensam, uma boa representação de um domínio real de negócios não pode ser automatizada!
Espero que os desenvolvedores se atentem mais para isso, e que não nos deparemos com super-controllers e models anêmicos saltando de nossas telas diretamente para o nosso colo.
Do contrário, se essa tendência se mantiver, ainda veremos muitos códigos “macarrônicos”, ASP-like, escritos em Ruby com Rails. O que é uma grande infelicidade dado o poder da linguagem!
Espero que eu esteja errado nessa minha semi(pre)visão de Dante no domínio Rails. E que, ao contrário dessa possível tendência, possamos ter códigos compreensíveis, projetos com um domínio de negócio bem representado, e filhos plenamente felizes.