Lançado o MentaBean - Persistencia simples via configuração programática

[quote=fmeyer]

Codigo sem teste unitario eh codigo inutil.

ps. isso vai ser engracado … [/quote]

Vc é patético. Eu trabalho numa empresa que gira milhões de dólares por dia, coloca mais de 2 milhões de ordens no mercado por dia e realiza perto de 150 mil transações em bolsa por dia.

E lá não tem um teste se quer. Zero testes unitários.

O sistema e a empresa vão muito bem, pode ter certeza disso.

Inútil são esses seus comentários…

Ate onde isso vai? “E voce eh bobo. E feio. E narigudo. Te encontro a 200m da escola, perto do ponto de onibus, e vc vai ver so!”

E isso eh pra se achar bonito? Bom, parabens, vc trabalha num puteiro onde ninguem leu nada sobre desenvolvimento de software de qualidade nos ultimos 20 anos. Ou leu, mas nao aplicou e preferiu ser cauboi, pq da pra se manter no emprego mais tempo. Eu nao tenho muito o que ver com isso, a nao ser ficar um tanto chateado em ver que a nossa profissao nao consegue evoluir desse jeito.

Nos poupe, vai?

=== Respondendo ao primeiro post do Paulo:

getter e setter não é para o framework que usa reflection e pode acessar diretaente o campo privado. getter e setter é para vc poder manipular o bean, como vc está fazendo no seu exemplo.

Realmente faltou um CoC para o MentaBean. Se o campo é string por default o tipo deveria ser String, sem necessidade de configuração. (Vou fazer isso!)

Eu não sabia disso e até pouco tempo atrás acho que não era assim, ou seja, ele fazia um update em todos os campos. Mas tudo bem, isso é importante para qualquer framework suportar. Veja o que nosso amigo falou sobre isso:

Isso é básico para qualquer framework.

Suporta até redes neurais. Acho que se já suportar os principais mecanismos dos principais bancos já está bom. (Não estou levando em conta a independencia de banco de dados aqui, por achar desnecessária em 95% dos casos. Ou vc muda o seu banco de dados toda hora?)

A idéia aqui é usar configuração programática, como o Mentawai.

Sim, já tinham me falado isso. O problema é que nínguem usa, não é documentado, ninguém dá exemplo e os próprios autores do Hibernate não encorajam, ou seja, XML e Annotations estão em todos os lugares quando o assunto é Hibernate. É como a configuraçõa programática para validação do Struts. Existe, mas é tão pouco falado/divulgado/usado/documentado que é como se não existisse.

Ate onde isso vai? “E voce eh bobo. E feio. E narigudo. Te encontro a 200m da escola, perto do ponto de onibus, e vc vai ver so!”

E isso eh pra se achar bonito? Bom, parabens, vc trabalha num puteiro onde ninguem leu nada sobre desenvolvimento de software de qualidade nos ultimos 20 anos. Ou leu, mas nao aplicou e preferiu ser cauboi, pq da pra se manter no emprego mais tempo. Eu nao tenho muito o que ver com isso, a nao ser ficar um tanto chateado em ver que a nossa profissao nao consegue evoluir desse jeito.

Nos poupe, vai?[/quote]

Puteiro é sua casa, Carlos Vilela. Manere no seu linguajar. Respeito é bom e todo mundo gosta, ok?

Fala para as diversas pessoas que utilizam o framework para elas não utilizarem mais porque o framework não tem testes unitários.

Fala para o meu chefe que apesar de ele faturar um bilhão de dólares por ano numa empresa com 50 funcionários, ele deveria jogar tudo fora e ir trabalhar com o CV e seus testes unitários.

Abaixa a sua bolinha amigo, porque eu tenho munição para rebater suas críticas mal-educadas.

Poder dizer “Fui eu quem fiz, ó!”.

Isso realmene ultrapassou todos os níveis do absurdo. Mas bola pra frente, assim é a comunidade Java, cada um que faça o seu e o resto que se lasque.[/quote]

O que ultrapassou todos os níveis do absurdo é o incomodo que isso gera nas pessoas. Enquanto algumas elogiam, contribuem, incentivam, outras caem matando. Quando fiz o Mentawai foi a mesma coisa. Fui massacrado aqui no GUJ e tb no exterior. Ainda bem que não desisti, ou melhor, esses ataques só me deram mais força para seguir em frente com o projeto. E hoje fico feliz em ver que muitas pessoas utilizam em casos de sucesso aqui e no exterior. Recebo muitos pedidos para entrar no time de desenvolvedores, etc e tal. Será que estou cometendo um crime. Será que estou fazendo algo errado. Será que deveria jogar fora o framework e usar Struts ou WebWork? Para algumas pessoas sim né…

Hei, acorda! Foi apenas um teste. Eu estava procurando por comentários sóbrios, técnicos como o Paulo fez. Perfeito. Sem xingamentos. Um verdadeiro profissional.

Agora o que dizer de CV, fmeyer e vc agora com esse comentário?

Isso é que é triste. Pessoas que não fazem nada, condenam tudo e se acham o máximo! Eu gosto de dar a cara a tapa. Sabia que ia gerar esses tipos de comentários da “galerinha do mal do GUJ”.

Se errei, como errei com o Lohis, com o Space4J, etc. me desculpem. Não precisa usar. Coloca um BLOCK no seu browser para nem entrar na página do Mentawai.

Agora não se iludam que eu vou parar de tentar, ok?

Concordo com vc. Há sempre o risco de um sistema simples se tornar complexo, mas se isso realmente acontecer será MUITO TRANQUILO migrar o seu sistema fixo para Hibernate e começar o seu sistema complexo.

Testes só é necessário se o seu sistema estiver mal-feito. Boas práticas de OO (herança e override) te permitem que vc estenda o teu sistema sem quebrá-lo. Eu faço isso todo o dia no meu trabalho, trabalhando com sistemas críticos que controlam milhões de dólares. O que não pode é colocar um bacurau para alterar isso e colocar em produção. Tem que ter disciplina, organização e programar “ORIENTADO A CONTRATOS”, ou seja, quando se introduz um novo contrato vc precisa ter 100% de certeza que o contrato antigo continua lá, bonitinho.

Reciprocidade funciona mais ou menos assim: a gente trata as pessoas como as pessoas tratam a gente. Logo…

Isso nao eh aceitavel. E voce comecou. E eh Villela, nao Vilela. Se vai chamar pelo nome completo como sinal de que vc esta rodando a baiana, alias, voce pode tentar Carlos Eduardo Villela de Andrade Neto, da proxima.

A decisao eh delas, mas se elas nao tem o bom-senso de decidir nao usar um framework que ja esta na quase na versao 2 e nao tem um teste automatizado sequer, talvez elas tenham uma licao importante a aprender.

E, caso vc nao tenha notado, eu estou falando pra essas diversas pessoas (afinal, o forum eh publico).

Fala pro seu chefe dar um toque pra ThoughtWorks, a gente provavelmente tem muito trabalho a fazer por ai. :wink:

Caralho. Eu vou colar isso na parede. saoj, manda uma foto sua pra mim?

Só se for para comprar a ThoughtWorks e te colocar como relações públicas CV.

A empresa é líder no mercado americano e talvez no mercado global. Fatura mais que qualquer outra na área de high-volume trading, recruta profissionais no mundo inteiro, o sistema é super estável, mas porque não tem testes unitários é uma merda, inútil.

Ok. A eterna briga entre teóricos e práticos. Papo-furado e resultados! Escolham o seu lado!

Caralho. Eu vou colar isso na parede. saoj, manda uma foto sua pra mim?[/quote]

  • Testes são demorados

  • Testes são chatos de se fazer

  • Testes geralmente não conseguem testar todos os cenários.

  • Testes possuem falso-positivos, ou seja, não acusam problemas mas quando vc coloca em produção dá algum erro.

  • Na grande maioria dos casos é IMPOSSÍVEL reproduzir o ambiente de produção num ambiente de testes. (Pergunte para as mais de 20 bolsas para as quais eu tive que escrever uma conexão esse ano…)

  • Se vc está modificando um sistema pouco organizado, sem boas práticas de OO vc com certeza precisa de testes. (que provavelmente não vão funcionar também)

  • O JForum não tem testes unitários (acabei de falar com o Rafael Steil). É inútil tb? Peço que troquem o fórum do GUJ urgentemente, pois isso é um atente as boas práticas de tecnologia.

  • Falei para o Rubem que se ele quisesse fazer testes unitários para o Mentawai ele poderia fazer sem problemas. Ele falou que sim, ok. Isso é muito importante. Fez 2 testes e não fez mais nada. Vai dizer que estava sem tempo para fazer isso. Ok. As pessoas são livres para fazer o que quiser…

OPA OPA OPA

Nao me use como exemplo aqui. Voce da a entender que eu nao apoio o uso de test cases, o que NAO eh verdade.

O falta de testes no JForum atual é uma falha monstruosa, que sempre me causou problemas. Nao ha desculpas para nao ter test cases.

O JForum 3 (atual versao em desenvolvimento) tem unit testing para tudo. Tudo.

Voce pode nao gostar de fazer testes, mas defender que eles sao ruins, ja eh pegar pesado. Ao meu ver, a sua postura esta errada.

Rafael

Pessoal, bom dia.

Eu não sou muito ativo, não ajudo porque ainda PRECISO de muita ajuda, mas no que eu puder, estamos aí.

Agora o que não ajuda é esse tipo de discussão que todos nós sabemos que não vai chegar em lugar nenhum.

Essa é a hora de algum moderador tomar alguma atitude e provar que não tem panelinha aqui no GUJ. Providências devem ser tomadas.

Existem algumas regras quanto a Palavrões, ofensas, etc. Apesar de muitos dos envolvidos serem Moderadores, deve existir alguém acima disso para poder tomar alguma atitude.

Quanto ao assunto, eu gostaria de deixar a minha opinião:

saoj, o seu maior erro foi colocar isso pra galera. Se você sabe que seu projeto é bom, use na sua empresa e continue ganhando milhões para ela, acho que seria uma ótima saída.

O assunto desse tópico era frameworks de persistencia, né? “Desvirtuaram para o Mentawai é um lixo porque não possui testes unitários, mesmo tendo um monte de gente usando e aprovando.”

Voltando ao tópico sobre MentaBeans:

  • Precisa de convenções para os campos, pois ficou claro com os exemplos do Paulo e do Urubatan de que é plenamente possível…

  • O Hibernate parece que também faz isso, apesar de muita gente reclamar das configurações do Hibernate e da dificuldade de configuração. Talvez essas pessoas estejam erradas e/ou mal-informadas, mas é de se pesquisar o porque disso.

- Não gostou do MentaBean… Ignore e não use. Ou faça como o Paulo. Apresente bons argumentos, sem xingamentos, sem palavras como INÚTIL, etc e tal. Um bom argumento fala por si só. Não é de se espantar que o Paulo esteja onde está hoje…

Estou extremamente decepcionado com o JForum. Vc ficou mais de 3 anos incentivando o uso de uma ferramenta que não tinha testes unitários. Eu me lembro há algum tempo atrás que eu estava postando uma mensagem aqui e deu um erro. Se vc tivesse usado testes unitários desde o início isso não teria acontecido. Realmente uma pena que só na versão 3 ele possua testes unitários. Agora podemos ter certeza que não haverá NENHUM bug e que a qualidade será 10 vezes melhor!

Sergio, testes unitarios nao impedem bugs de acontecer, mas diminuem enormemente a possibilidade, quando voce testa direito.

Rafael

CMMI? :twisted:

Acho que você não entendeu o espírito da coisa:

Erros sempre existirão…e quanto mais certos de que eles não acontecerão, ou quanto mais cedo os mesmos sejam descobertos…melhor…Esperar sistema sendo colocado no ar sem erros(com ou sem testes unitários),considerando um sistema que seja um pouco mais que um CRUD, pode beirar o utópico, ao menos pra maior parte da realidade vivida por quem desenvolve…

  • Baixei todo o código fonte do Spring Web Flow e tb não encontrei testes. (O diretório test que tem lá é para testar as suas actions e não teste para o framework em si!)

Se alguém utiliza esse framework, muito cuidado. Recomendo analisar o uso de outro…

Olá GUJ’s…

IMHO o hibernate/jpa é a resposta da comunidade java sobre como seria a melhor maneira de realizar a persistência de suas entidades. Por isso vou dar minha opinião/sugestão sobre o MentaBean.

Seria mais interessante se o Mentawai oferece novos recursos bastante poderosos para criar uma integração entre a camada de persistência e o mentawai. É mais ou menos o caso que aconteceu no JBoss Seam. Ele aproveita o JSF + JPA + EJB3 e te propõe um novo estilo visando aumentar a agilidade no desenvolvimento do software.

Existem outros recursos que podem ser interessantes como por exemplo gerar as páginas CRUD com seus respectivos controles.

Enfim, acho que criar um novo framework de persistência não vale a pena. Mas uma proposta de arquitetura/integração para persistência poderia ser muito interessante.

Abraços!

Em tempos de JPA… esse framework é realmente :

1 - Simples demais… se for para ser TAO simples… prq nao usa Prevayler ? faz bem mais coisas e é bem mais simples.

2 - Voce esta tentando reinventar a roda… JPA é simples tmb… e chega a ser mais simples que isso se vc usar integrado ao container

Acho que vc exagerou nessa vez… alem de não pegar vc vai ter que manter algo relativamente inutil… e se simplesmente descontinuar vai deixar na mao quem usa esse “negocio” que vc criou…

Isso tá parecendo o J# :stuck_out_tongue: “Já nasceu morto.”