:: NEO Framework... Novo projeto Open Source brasileiro!

Beleza. Confirmou o que todo mundo achava. Vocês estão metendo refactoring no código sem nenhuma garantia de que não estão quebrando outras partes do sistema. Ótimo.

Mas não precisa ser falacioso e tentar rebaixar o que eu disse usando termos como “ilusão”, “maravilhoso”, “apaixonados”, “outras pessoas não pensam como você”. Eu sou usuário do Mentawai, como já disse, mas fico preocupado como certas coisas são levadas no desenvolvimento deste. Se você não se preocupa com o que os usuários pensam, aí piorou.

Não estava argumentando contra você, nem contra o framework, nem contra nada. Eu só quis dizer que estava preocupado com o que aparentemente acontece no desenvolvimento do Menta. Mas isso é uma preocupação minha. Não esquente. :wink:

Me desculpe se fui muito enfático no meu post. Mas eu sou um eterno liberal e acho que estou enfrentando uma tropa de conservadores, que acham que testes unitários é tudo! O Mentawai ou o NEO, sem testes unitários, são um lixo e estão fadados ao fracasso. Uns verdadeiros bichos-papões.

Agora se foram usados em empresas, testados na prática, se possuem pessoas experientes tocando esses frameworks, etc e tal… Há isso tudo é um detalhe inútil perto da ausência de testes…

Não é errado gostar de testes unitários, assim como não é errado fazer uma certificação. Errado é achar que isso é fundamental e essencial para medir a qualidade de um framework ou de um profissional… E, na ausência de outros argumentos, é nisso que vcs estão se apegando para criticar/desmerecer os frameworks em questão… Isso é ruim…

hmmmm

não sei não, mas tem gente que gosta de ficar rebaixando o trabalho dos outros.

Já que o framework foi aberto agora, ele poderá crescer mais ainda e atender as necessidades da comunidade…

valeu pela iniciativa

ahhh, beleza… precisam ser feitos testes unitários, mas o que já foi feito não pode ser desconsiderado.

viva o mentawai, o neo framework e qualquer outro framework feito com muito suor e muito trabalho!

grande abraço

H2

Sergio,

Eu acompanhei a discussão do MentaBeans de longe, e acho ótima sua iniciativa, assim como a do Mentawai. Sempre reclamam que brasileiro só usa a infra-estrutura criada pelos outros e não investe nesse setor, e quando o fazem, caem de pau. O problema não são as críticas, mas as críticas destrutivas, que não agregam em nada…

Enfim, só acho que você também se utiliza desse tipo de argumento, o que é triste, afinal, não devemos fazer para os outros o que não queremos para nós mesmos:

Testes unitários não servem pra tampar o sol com a peneira. Servem para, além de garantir que o código está funcionando para o que foi proposto, em conjunto com o TDD, garantir que não se vai construir além do necessário.

Pelo que eu venho lendo, acho que você não conhece TDD, e muito pouco de testes unitários. Seria interessante você ler um pouco a respeito, e quem sabe talvez seguir o conselho de outro colega e fazer uma comparação ou um artigo a respeito dos métodos de desenvolvimento…

[quote=saoj]
Me desculpe se fui muito enfático no meu post. Mas eu sou um eterno liberal e acho que estou enfrentando uma tropa de conservadores, que acham que testes unitários é tudo! O Mentawai ou o NEO, sem testes unitários, são um lixo e estão fadados ao fracasso. Uns verdadeiros bichos-papões.

Agora se foram usados em empresas, testados na prática, se possuem pessoas experientes tocando esses frameworks, etc e tal… Há isso tudo é um detalhe inútil perto da ausência de testes…

Não é errado gostar de testes unitários, assim como não é errado fazer uma certificação. Errado é achar que isso é fundamental e essencial para medir a qualidade de um framework ou de um profissional… E, na ausência de outros argumentos, é nisso que vcs estão se apegando para criticar/desmerecer os frameworks em questão… Isso é ruim…[/quote]

Posso estar absolutamente enganado, mas acho que se o nome empregado para garantir funcionamento, fácil refatoração, dentre outras coisas essenciais não fosse chamado de ‘teste’, as coisas seriam mais fáceis de serem aceitas, assimiladas, etc.

Considerando um exemplo fora da computação, o conceito de ‘Teste’ é como a parte externa de um elemento de máquina, por exemplo.

Quando você o martela, deixa marcas do martelo no elemento. Na manutenção de um software é a mesma coisa: você precisa saber que tipo de marcas aparecerão no produto quando você o modifica com a marretada.

Mesma coisa para aplicações em matemática aplicada. Como você pode assegurar o funcionamento de qualquer sistema físico se não houver algo que o assegure disto, tanto teoricamente (teoremas, lemas) quanto na prática (testes de fadiga, simulações, etc)?

Testes são úteis para saber como seu produto reage a intervenções externas em sua estrutura. Softwares também são máquinas, ainda que sejam intangíveis.

t+

Me desculpe se te passei essa idéia. Não quiz ofender, menosprezar ninguém. A questão é que defendo que quando vc estende um framework vc não deveria quebrá-lo. Se isso está acontecendo com uma certa frequencia, então há alguma coisa errada… Isso é diferente de quando vc MODIFICA um sistema, ou seja, modifica um algortimo de algum método por exemplo. Aí sim qualquer um vai correr um alto risco de quebrar a coisa e um teste, seja prático, unitário e/ou automatizado, vai cair muito bem.

Sérgio, eu acho que aqui caberia o contrário. Desenvolvimento tradicional de software (e conservador, nesse contexto) até hoje foi ignorar os testes unitários automatizados.

Dar valor aos testes, TDD, BDD, … É tudo relativamente novo (ou que pelo menos caiu na “boca do povo” recentemente). No meu ponto de vista, ser liberal aqui é abrir a cabeça para isto. Exatamente o contrário do que você disse.

Tem razão. :slight_smile:

Estou sendo liberal por um lado, quando aceito que um sistema pode ser bem-feito sem testes unitários/automatizados e conservador por outro, quando não estudo mais a fundo TDD…

Lembrando que testes é fundamental, isto é, ninguém vai escrever código sem “testar”. Isso simplesmente não existe… Só que existem vários níveis de testes, desde de “se compilar, funciona” até testes automatizados para setter and getter*.

  • Se bem que um dia eu fiz isso e o Eclipse me alertou:

public void setName(String s) {

    this.name = name;

}

Acho que essas maravilhas do Eclipse acabam te salvando de muita dor de cabeça e “debugging”… O Eclipse acaba virando um testador as you type

SAOJ, entendo que às vezes falta tempo e etc… para criar testes, tarefa chata pra caramba !!

Vou te dar uma dica, já que seu projeto é Open e não precisa manter privacidade do código - http://www.junitfactory.org/

Bora, instala o plugin ae no eclipse e gere tudo !!

Fim da discussão !!

Olá

Passei isto para o Microfilo e ele ainda desdenhou.

Este negócio está na minha assinatura há 10 dias e depois de assistir o webcast do Alberto Savoia, não vejo mais desculpas para não ter testes em um projeto que pretende obter colaboraçào de outros.

[]s
Luca

Olá!

Muito bom esse junitfactory…
Mas tem que ter um cuidado, se passar um método errado, ele vai gerar um teste errado pensando estar certo.
Então não é só substituir os testes unitário por completo pelo junitfactory.

Um exemplinho, um método que diz se um número é par. Se o programador fizer errado, olha os testes gerados…

	public boolean isEvenNumber(int number) {
		return number % 2 != 0;
	}

        // testes gerados
    public void testIsEvenNumber() throws Throwable {
        boolean result = new HelloWorld().isEvenNumber(100);
        assertFalse("result", result);
    }
    
    public void testIsEvenNumber1() throws Throwable {
        boolean result = new HelloWorld().isEvenNumber(1);
        assertTrue("result", result);
    }
    
    public void testIsEvenNumber2() throws Throwable {
        boolean result = new HelloWorld().isEvenNumber(-1);
        assertTrue("result", result);
    }

Mas dai é pedir demais pra uma ferramenta! :smiley:

O JUnitFactory na verdade gera testes unitários que funcionam mais como testes de regressão: eles garantem/deveriam garantir que se você mudar o código, não vai quebrar o que funciona.

Que talvez seja o caso de refactorings e plano de continuidade do Menta - o que estamos conversando para o futuro.

Concordo com o desenvolvimento orientado a testes - TDD, mas se o sistema já existe, essa é uma boa abordagem para pensar em futuro do mesmo .

Quer dizer que não é só porque tem testes que vou confiar de cabeça, como se passasse do bosta para a maraviha :stuck_out_tongue:

Implementar teste pra código existente não vai fazer com que o código fique melhor ou mais bonito, mas deixará o programador mais seguro de que ele não vai quebrar nada quando for melhorá-lo.

Boa resposta :slight_smile:

Leitura obrigatoria:

[quote=saoj]Seria bom abrir um outro tópico sobre isso…

Minha opinião não é o correto, até porque o correto é subjetivo… Mas é a minha opinião no momento, que está aberta a mudanças e adequações, mas nesse momento é a minha opinião… Ok, eu sempre vou demorar um pouquinho para arredar o pé, mas isso faz parte do aprendizado…

Um FRAMEWORK é um sistema com uma finalidade definida: servir de base para o desenvolvimento de uma aplicação ou de um outro framework.

… continua …
[/quote]

Sergio, tudo bem?

Bom, nada pessoal, só uma opinião que venho formando de um tempo que tenho acompanhado as discuções aqui… sinceramente não li toda sua mensagem (nessa vc caprichou e escreveu pra caramba. rsss)… mas pelas partes que li de vc falando que um framework possui uma classe publica que dificilmente vai apresentar problemas e ter que ser alterada e que testes são feitos na aplicação e não no framework e blablabla… fiquei curioso e cliquei no link da sua assinatura, depois procurei forum e em seguida bug’s… bom… nem parei pra ler tb… afinal, lá também tem coisa pra caramba… mas resolvi só pra passar e deixar minha opinião… com tudo que estão reportando lá na parte de bug’s (novamente digo que não li), mas digo em relação a quantidade, vc acredita mesmo que está certo nesse ponto?

nessa questão de testes compartilho da opinião do Luca e o CV, acredito que eles devem ser feitos sim, porque isso garante que aquilo que está sendo proposto pela aplicação (framework) é feito e não dá pau… é esse o ponto… no que está sendo proposto vc afirma que está funcionando ou pelo menos tenta chegar o mais prox disso, agora vc disponibilizar uma ferramenta e simplesmente dizer “gente, eu fiz e agarantiu… funciona que é uma belezura” fica mais complicado.

PS: Pelo amor de Deus, sem aquelas considerações de que milhares de pessoas usam, empresas grandes usam, melhares de pessoas aprovam, estou falando de que para adotarmos uma ferramenta para ser utilizada em um meio coorporativo, é relativamente arriscado ir pelo lado do, “olha, é legal, simples e funciona que é uma blz.”

Novamente estou só comentando que essa é minha opinião, sem ofensas, ok? :wink:

grande abraço a todos.

Respeito a sua opinião, mas acho que vc usou um argumento um pouco estranho. Vc fala de bugs, né? Dizer que tem bugs é muito fácil… Vc queria que no forum de bugs tivesse o que? Bugs sobre o Struts? Zero bugs… 2 bugs ??? Isso seria se ninguém usasse o framework. Temos +10 mil mensagens no nosso forum, vários usuários utilizando, daí bugs e sugestões de melhorias são encontrados e reportados no forum. O número de mensagens sobre bugs aumenta. Conclusão: o framework é uma merda, cheio de bugs. Assim não compensa entrar no debate…

E vc não diferenciou bugs. Uma coisa é bug de regressão, outra coisa é bug em funcionalidade/feature nova. O primeiro pode e deve ser evitado a qualquer custo (com disciplina, boas práticas ou testes mesmo), já o segundo é inevitável por definição. A maioria dos bugs que tivemos está no segundo grupo… Mas vc jogou tudo no mesmo saco…

Depois eu leio o seu post com mais calma, pois agora estou em Beverly Hills a trabalho e amanhã cedo parto para New York… No caminho irei perguntar para o meu chefe porque ele não fez nenhuma pergunta sobre testes na minha entrevista, e porque nenhuma das nossas mais de 30 conexões eletronicas não possuem testes unitários… As conexões estão funcionando e gerando bastante dinheiro para a empresa, mas como não tem testes deve ter bugs, bugs, bugs como vc falou… Talvez vc fale que a empresa aonde eu trabalho é um lixo (já tive que ouvir isso aqui) , que os sistemas são uma merda e não funcionam porque não possuem testes… Isso é subjetivo… Mas tem uma coisa que não é subjetivo… Tem uma coisa que eu, vc, seu chefe, o meu iremos concordar: 1,000,000 dólares é maior do que 1,000 dólares… Com testes ou sem testes… Ainda bem…

“sem ofensas, ok?” Quem sou eu para te ofender? Achei o seu post bastante inconveniente, onde vc me acusa entre-linhas de um monte de coisas, mas não tenho porque te ofender… Pra que perder tempo te ofendendo? Amanhã quando chegar em Nova York eu entro aqui pra ver se vc achou mais algum bug lá no forum de bugs…

(Editado: dei uma olhada lá por curiosidade e tem 26 tópicos, alguns improcedentes e outros realmente bugs… Acho que para um framework que está aí a 2 anos, 26 posts na área de bugs é até pouco… eu gostaria que houvesse mais, principalmente se compararmos com o número de tópicos do fórum regular: 1170)

Sérgio, estamos falando de software e da melhor forma de desenvolvê-los. Ninguém tá falando do faturamento da empresa que trabalha, até por que isso não é do interesse de ninguém. Uma coisa não tem nada a ver com a outra. Uma é o desempenho comercial da empresa e outra é a qualidade de software. Fica muito estranho quando você mistura os assuntos. Vamos manter a conversa presa da esfera da gente. Testes é uma garantia pro desenvolvedor, não pro negócio. É bom que isso fique claro.