Gerador de codigo. Qual a sua opiniao?

Geradores podem ser úteis até certo ponto. Caso você precise fazer algo muito repetitivo e a linguagem não te ofereça uma forma de aplicar o conceito de DRY, nesse caso vale a pena. O que é fortemente combatido são os “geradores inteligentes” que as consultorias de 3 letrinhas adoram pra contratar um bando de júniors, vende-los como sêniors, e entregar um produto de péssima qualidade. Isso eu falo porque tem vários desse geradores que conseguem fazer telas de cadastro e algo mais, mas que te obrigam a ter uma arquitetura extremamente engessada. Dessa forma as empresas imaginam que ninguém vai fazer besteira, já que a aquitetura é de caixinha. Pura bobagem.

Toda empresa precisa de pelo menos alguns profissionais que saibam montar uma arquitetura conforme a necessidade de cada projeto ao invés de tentar comprar “Arquitetura Padrão” para todos os projetos.

Opa…,

Eu só vi a existencia desse tópico esses dias.

Então preparei esse texto chamado “Mitos sobre geração de código”:

http://www.spideronrails.org/cnf/pages/viewpage.action?pageId=5111911

Veja se ajuda a esclarecer o assunto.

Abçs,

para mim so tem valor quando é para executar coisas basicas, o qual eu consigo dar manutenção, porem há situacoes que deve ser analisadas como o thingol citou.

Codigo gerado por uma IDE que eu nao entendo nao serve, nem para vc nem para sua equipe.

[quote=LPJava]para mim so tem valor quando é para executar coisas basicas, o qual eu consigo dar manutenção, porem há situacoes que deve ser analisadas como o thingol citou.

Codigo gerado por uma IDE que eu nao entendo nao serve, nem para vc nem para sua equipe.

[/quote]

Totalmente de acordo :slight_smile:

Parte disso que comentei no meu texto.
Mas o erro de não ter esse foco / características são da maioria das ferramentas e não da “geração de código”. Esse é o ponto.

Nenhum gerador de códigos pra mim é ruim, desde que eu entenda o que está ocorrendo e o código seja humanamente compreensivel. É possível? Com absoluta certeza.
Achar que tudo é ruim é ignorar que, como automatizadores que somos de trabalho alheio, não podemos então automatizar o nosso, o que consideraria uma falta imensa de inteligencia.
o Rails é uma prova concreta de automatização de código.

Quando eu trabalhava com PHP e na área de Informática desenvolvi um framework que gerava, a partir de um xml o Bean já habilitado para um ORM simples que desenvolvi, e gerava um CRUD e toda customização poderia ser feita via código, na classe especifica, como já foi citado.

Foi muito útil na época, me poupava trabalho repetitivo, mas a regra de negócio, e coisas mais complexas, eu mesmo desenvolvia na mão, e claro, o framework permitia.

Acho que geradores de código são úteis sim, quando facilitam o desenvolvimento sem ENGESSAR seu aplicativo.

Geradores de Aplicativos? NUNCA!

[quote=djemacao]Nenhum gerador de códigos pra mim é ruim, desde que eu entenda o que está ocorrendo e o código seja humanamente compreensivel. É possível? Com absoluta certeza.
Achar que tudo é ruim é ignorar que, como automatizadores que somos de trabalho alheio, não podemos então automatizar o nosso, o que consideraria uma falta imensa de inteligencia.
o Rails é uma prova concreta de automatização de código.[/quote]

É mais ou menos por isso que o projeto J2EE Spider trocou de nome para SPIDER on Rails.
A forma de fazer as coisas é totalmente diferente do Ruby on Rails e não também não é um framework, mas o objetivo é parecido.

Resolvi usar scaffold do Grails em um projeto e achei bem interessante e produtivo, difícil uma operação que não precise modificar algo na view e no controller, mas quando isto se tornou necessário foi tranquilo de fazer e economizou bastante tempo, ao mesmo tempo tendo certeza que o código gerado passou por muitos testes, às vezes mais do que nós mesmos fazemos com os nossos.

Em primeiro lugar espero que todos tenham tido um ótimo natal …
cara achei fantastico o seu artigo citado no link acima realmente muito bom só gostaria de resaltar mais um item, que muitos programadores e arquitetos fazem mal uso dessas ferramentas por falta de experiencia e conseitos mal formados sobre a real utilidade desses softwares, que somente estão ai para dar uma assistencia isso sem contar que em contra partida muitos desses softwares não cumprem nem 30% do que eles vendem … posso estar me preciptando mas na real, eu acho que a maioria desses caras que produzem esse tipo de software não tem experiencia o suficiente para criar tais tipos de ferramentas … eu mesmo sou um desses mas pelo menos eu não fico criando porcarias e jogando na internet …
me desculpem se fui meio grosseiro ou pareci um pouco arrogante mas eu não consigo entender como esses softwares que estão no mercado conseguem ganhar dinheiro com esses produtos …

Gerar Código Legível é muito bom! Você pode dar Manutenção e todos ficarão felizes.

Gerar Código Ilegível e um porcaria.

Gerar Sistemas é complicado.

Existem bons geradores e maus geradores…

Geradores bons só ajudam.

Eu já encarei uma empresa onde um cara tinha feito um “gerador modafoca de sistemas da empresa”.
O q o gerador fazia era geram um crud básicão baseado em somente uma tabela, todo e qualquer coisa teria q ser feito a mão, quase q deletando tudo q o maldito gerador fazia.

Só q o cara tinha convencido os chefes da empresa q o gerador q ele tinha feito era fodonico e praticamente gerava tudo, o programadorzinho só precisava fazer alguns ajustes…

Aí começava a lambança quando nos era dado tempo nas tarefas, era muito menos tempo q o necessário, já q o gerador fazia tudo, dava tempo de sobra… na cabeça deles.

Uma hora me indignei e disse pro pessoal: vamos fazer uma reunião e vou falar pros chefes em nome de todos q esse gerador é puro engodo, vcs acham q alguma alma quiz se levantar? Programador é tudo uma raça de cagões. Resultado? Saí da empresa uns meses depois.

[quote=alandasilvaferreira]Em primeiro lugar espero que todos tenham tido um ótimo natal …
cara achei fantastico o seu artigo citado no link acima realmente muito bom só gostaria de resaltar mais um item, que muitos programadores e arquitetos fazem mal uso dessas ferramentas por falta de experiencia e conseitos mal formados sobre a real utilidade desses softwares, que somente estão ai para dar uma assistencia isso sem contar que em contra partida muitos desses softwares não cumprem nem 30% do que eles vendem … posso estar me preciptando mas na real, eu acho que a maioria desses caras que produzem esse tipo de software não tem experiencia o suficiente para criar tais tipos de ferramentas … eu mesmo sou um desses mas pelo menos eu não fico criando porcarias e jogando na internet …
me desculpem se fui meio grosseiro ou pareci um pouco arrogante mas eu não consigo entender como esses softwares que estão no mercado conseguem ganhar dinheiro com esses produtos …[/quote]

Alan, eh o artigo ficou bacana. Sobre as ferramentas tb acho que tem muitas ruins. Por isso criei uma Open Source para que todos possam colaborar e criar algo free melhor do que as pagas.
Na verdade uma vez procurei uma ferramenta nesse estilo e fiquei meio desapontado com a qualidade, nenhuma gerava codigo util, permitia customização ou era facil de usar. Então resolvi começar a fazer uma no tempo livre. No primeiro quartil de 2010 qdo tiver uma release estavel, espero que possa te ajudar com esse problema em comum.

Apesar do parenteses sobre ferramentas, espero ter ajudado a discutir o conceito “geração de código”. Ver que se bem entendido o objetivo e bem aplicado pode agregar e não ser um inimigo.

cara eu não sei se é a melhor das soluções em praticidade mas com o software que eu criei em menos de 40 minutos o próprio programador da um modelo de código em qualquer linguagem e replica o mesmo código para uma infinidade de definições seja de tabelas, procedures ou outros mais… só de olhar ele parece um modelador tipo erwin ou o diagramador do MsSQL …
particularmente eu achei que realmente ficou muito prático e rápido mas é somente um protótipo …

Tem um gerador de código bem interessante.

www.totalcodegenerator.com.br

É rápido e facil de customizar.

Sei que o Forum é de Java mas para quem tambem programa em C#. É bom conhecer.

Não custa nada.

eu publiquei alguns videos dos meus softwares de uma olhada no youtube procure por “AlanSoft DSM”, esse era o protótipo hoje estou transformando a idéia em
serviços para deixar na web…

Acredito sim que um sistema gerador de código pode auxiliar no desenvolvimento de aplicações comerciais, ainda mais quando se trata de sistemas onde você mesmo pode customizar o código gerado através da utilização de templates.

Estes sistemas poupam um considerável tempo no que se refere a códigos repetitivos.
Uma vez que você tem uma arquitetura definida não vejo por que não automatizar a parte burocrática do desenvolvimento. tipo POJOS, DTOS, DAOS, Store Procedures CRUD, páginas que geram grids e coisas do tipo.

EU particularmente estou empenahdo no desenvolvimento e evolução de uma sistema chamado Zum Coder (http://www.zumcoder.com.br) , que permite que você possa ler estruuras de diversos bancos de dados além de modelos XML, XSD, Formulários HTML.

Geradores de codigo fonte sao bons desde que bem construidos ou seja os que geram código fonte com aplicaçao de arquitetura de software são bons, conheco o Pegasus Sgen criado pela Pegasus Solutions é um gerador de projeto com CRUDs Android ou gerador de projeto Java EE gera CRUDs em Ejb 3.x sendo a view em SmartGwt.
Sobre o gerador é free só basta acessar a seguinte url e registrar e verificar o email indicado para ativar a conta…

https://www.pegasusjavatech.com/sgen
Pode confiar no site é que ainda nao foi comprado uma chave ssl, logo o alerta é normal.

Para Gerar um projeto com pegasus sgen cadastre um projeto na tela de projeto, apos isto clicar na tela gerador de modulo informar um projeto que representa o mapeamento do dominio que é utilizado para gerar o crud das telas com base no mapeamente orm.
Quer um exemplo de projeto de domain para ser utilizado pelo gerador acessar o site da empresa abaixo clicar em suporte, download, baixar exemplo EXAMPLO_PROJETO_DOMAIN_GERADOR_MODULO.zip .
importar no eclipse verifique os comentarios utilizados no mesmo e observe como o código final foi gerado e irá entender o funcionamento.

Empresa que criou o gerador Pegasus Solutions, segue site abaixo
http://www.pegasusjavatech.com/site

Se tentar acessar e estiver indisponivel tente nos sabados e domingos é certo que irá estar online nestes dias. Ainda não foi adquirido um link de internet logo o site está lento para ser acessado mas é rápido no processamento, logo terá uma performance relativamente boa.

Video monstrando como gerar um projeto com Pegasus Sgen

Rafael Peres dos Santos - Arquiteto Java e Desenvolvedor Java
SCJP 6, SCWD 5, OCPBCD 5

Bom…Até que é bom ter uns geradores de código !!!
Mas não acho também que dever ser utlizado pra tudo pelo simples fatos de muitas vezes gerar uma poluição visual do caramba no seu código…aí quando vc vai partir pra manutenção ou alterção é ruim pra caramba…
Eu até que uso mas so pra gerar os get e set kkkk…
falow

Caros colegas,

O que acham de usar um gerador de código baseado em banco de dados (qualquer um) e template (modelos) de códigos criados por vocês próprios?
Nada de aprender e usar o código dos outros, apenas use o template pronto ou crie o seu, para gerar código em qualquer linguagem.
Perdemos muito tempo criando telas e recriando rotinas de manutenção de dados, com o UICodeX, você “perderá” tempo apenas uma vez, e use para sempre o código com sua cara.
Não estou propondo eliminar o trabalho de cada artista programador, mas deixar ele livre para criar suas obras extraordinárias.
O gerador pode converter tabela em json, tabela em classes para RTTI, tabela em SQL, tabela em objetos, tabela em componentes e tantas outras utilidades enfim, que só dependerá da criatividade de cada um.

Pensem nisso.

Robson Passos
GVSoft Tecnologia
Skype: robsonpb
rpassosb@gmail.com