artigo .net Magazine 47 - Code Generation

Artigo da Revista .NET Magazine - Edição 47.

Clique aqui para ler esse artigo em PDF.

Clique aqui paraler todos os artigos desta edição

Boa Idéia

Code Generation

Gerando código automaticamente

 

Geração automática de código não é uma idéia nova, embora esse tema tenha ganhado destaque ultimamente. Aliás, sempre que ouvia falar sobre o assunto, sentia “arrepios”. Pensava em ferramentas de geração de códigos complexas, CASE ou que geravam código difícil de entender, mal-estruturado, pouco extensível e que escondiam seus detalhes de implementação. Enfim, acredito que eu tenha algum tipo de “trauma”, não sei ao certo.

Mas o que abordaremos aqui são ferramentas que podem aumentar a produtividade da equipe de desenvolvimento. Mudanças recentes na maneira como o software é construído podem ter contribuído para o ressurgimento de ferramentas geradoras de código, como uma maneira de automatizar a geração de código “braçal” e permitir ao desenvolvedor focar na lógica de negócio do sistema.

Quando eu falo “mudanças recentes na maneira de construir software”, estou me referindo ao lado arquitetural utilizado para construir uma aplicação atualmente, ou seja, a “quebra” em n-camadas, utilização de design patterns, melhores práticas, bibliotecas de apoio etc. A realidade é que, se por um lado o desenvolvedor está construindo aplicações melhor estruturadas, mais flexíveis com relação às mudanças de negócio e de tecnologia e menos acopladas, por outro lado existe um overhead na codificação.

Hoje, construímos aplicações com camadas de apresentação, fachadas, acesso a dados, Stored Procedures etc. Sem falar nas entidades, que podem ser utilizadas com a finalidade de passar dados entre as camadas. Ou seja, já cansa antes mesmo de começar o projeto! E quando o projeto termina, lá vamos nós novamente começando tudo de novo...

Enfim, o ciclo de desenvolvimento é realmente um processo penoso para o desenvolvedor. Mas afinal, computadores não têm a intenção de realizar tarefas repetitivas? É exatamente aí que entram as ferramentas geradoras de código.

 

Como funciona uma ferramenta geradora de código?

Basicamente, a ferramenta geradora de código recebe de um lado os metadados do projeto, como por exemplo, o modelo de dados, e de outro lado os padrões de projeto definidos pelo desenvolvedor, como por exemplo, bibliotecas ou comandos que devem ser utilizados, padrões para tratamento de erros, logging, acesso a dados etc., e a partir desses parâmetros o código é gerado.

Então, isso significa que a minha aplicação estará pronta? A resposta é infelizmente não (ou felizmente, senão não precisaríamos mais de desenvolvedores!). Não existe mágica. O papel do desenvolvedor é preencher os gaps que a ferramenta geradora de código deixa, ou seja, codificar o que não pode ser automatizado e que realmente deve ser o foco do esforço de desenvolvimento, que são as regras de negócios, aspectos funcionais da aplicação ou mesmo aspectos técnicos mais complexos.

Não estamos falando aqui da geração somente da “casca” da aplicação, como nome de classes e seus métodos. Estamos falando da geração efetiva de código para Stored Procedures, componentes que farão a chamada a essas, passando parâmetros e tudo mais, além da geração de classes que fazem o mapeamento entre o banco de dados relacional e o mundo Orientado a Objeto e também classes da camada de interface com o usuário.

 

My Generation

My Generation é uma ferramenta de geração de código free, que gera código a partir de templates. Os templates podem ser usados para gerar Stored Procedures, XML, HTML, páginas ASP.NET, componentes de acesso a dados, entidades, e outros. Você pode pensar em um " [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados