[Cisl-comunidade] Ferramenta livre de análise de qualidade de código fonte em Java

Cleuton Sampaio de Melo Jr cleuton.melo em serpro.gov.br
Quarta Janeiro 29 14:12:43 BRST 2014


Bem, o jQana é mais voltado para análise de projeto (LCOM4) e implementação (RFC e CC). Mas o jDepend é voltado mais para arquitetura. Usando os dois, você cobre Arquitetura e Projeto. 

O Macker é uma proposta diferente, baseada em regras. Mas é também muito bom.

Com a análise combinada proposta pelo jQana + jDepend + PMD + Checkstyle + Cobertura, você tem:

Análise arquitetural (Ca, Ce, I, DMS - Distância da Sequência Principal);Avaliação do projeto (LCOM4);Avaliação de implementação (RFC, CC);Análise de código (PMD e Checkstyle);Análise de cobertura de testes (Cobertura ou JaCoCo);
Todas são ferramentas livres SEM OPÇÃO "ENTERPRISE" e SEM SUPORTE "PREMIUM"! Não que eu seja radicalmente contra isso, só acho que os desenvolvedores de software livre não devem reter informação ou codebase dos usuários que optam pela versão aberta. 

Certa vez, quando estava investigando um problema com um conhecido servidor Java EE, que se diz livre e é distribuído por uma estranha companhia, cujo logo envolve uma peça de vestuário (não posso falar mais), eu li a seguinte resposta em um fórum de comunidade: 

"... você está usando a versão Enterprise, logo, essa pergunta só pode ser respondida através do nosso contrato de suporte..."
Isso está certo? Não é o mesmo codebase? O que custa ao cara responder à pergunta? 

É o mal dessas "business-friendly open source companies"... 

Conseguem juntar o pior de dois mundos: A "falta de acabamento" e "polidez" de um software open source, com a exigência de pagamento de um software proprietário. Não investem em nada, nem em melhorar a documentação ou a UI, e, ainda por cima, cobram para dar informações sobre seus próprios bugs! Absurdo. 

Isso, além de irritante, é desonestidade. Elas induzem o uso de suas ferramentas, inclusive influenciando os jovens ainda na Faculdade, através da versão "Community". Só depois você descobre que, para uso corporativo, tem que comprar uma licença... Isso é falta de transparência. 

-- 
Cleuton Sampaio, Analista. M.Sc., PMP, SCEA

------------------------------------------------------------------------------

SERPRO / SUPST / STDAI

#21 7802 / (21) 3509-7802


"Felizes aqueles cujo conhecimento é livre de ilusões e superstições", Sidarta Gautama, o Buda.



Em 29/01/2014 13:30:47, Fabiano G. Souza escreveu:
> Ótima iniciativa, Cleuton! Uma coisa que sinto falta é uma ferramente de verificação de violação de camadas da arquitetura, como o morto > Macker> . Fica como sugestão!> 

> Um abraço,
> > Fabiano G. Souza
> http://twitter.com/fgsouza
> 

> 
> 2014-01-29 Cleuton Sampaio de Melo Jr > <> cleuton.melo em serpro.gov.br> >
> > 
> > Comunidade, 
> > 
> > Todos os envolvidos na produção de software, entendem o peso que a "dívida técnica" exerce sobre os orçamentos das empresas, especialmente, as governamentais. 
> > 
> > E redução de dívida técnica passar por análise automatizada de código fonte. 
> > 
> > Existe uma ferramenta (que se diz livre), cujo nome começa com "S", que é muito utilizada para análise de código, pois possui um belo "dashboard" e é relativamente fácil de usar. 
> > 
> > O problema é que essa ferramenta vem mudando muito... Para começar, lançou um produto pago. Eu realmente desconfio de ferramentas livres/pagas, e existem muitos exemplos aí, no Mercado. Elas, geralmente, deixam a versão gratuita descoberta, enquanto privilegiam a versão paga.
> > 
> > Bem, está acontecendo com a ferramenta "S"... Primeiro, começaram a "suavizar" as métricas, talvez, para tornar os resultados mais "palatáveis" para possíveis compradores de licença, depois, começaram a substituir as ferramentas públicas tradicionais, como: PMD, Checkstyle e outras, por implementação própria. 
> > 
> > Foi com muito desgosto que concluí que não posso mais confiar nos resultados produzidos por essa ferramenta... 
> > 
> > Então, resolvemos criar uma ferramenta livre que complementa as principais métricas (antes providas pela "S"), de modo que, com um conjunto composto exclusivamente por ferramentas livres, podemos continuar analisando código fonte em Java. 
> > 
> > Por que usar só ferramentas livres?
> > 
> > Dois motivos: 
> > 
> > Transparência! Precisamos saber exatamente como e o que estão calculando;> > Padrões! Precisamos saber se estão calculado "by definition", ou seja, de acordo com a definição das métricas, e não de acordo com o "gosto" de algumas pessoas.> > 

> > Se você usa Maven, então pode usar o nosso plugin "> > jQana> > ", que lhe dará resultados detalhados sobre: 
> > Complexidade ciclomática;> > 
> > LCOM4 (Lack of Cohesion of Metrics - Hitz & Montazeri);> > RFC (Response For a Class - Chidamber & Kemerer).
> > Você tem e sempre terá TOTAL acesso ao código fonte do jQana, que está hospedado no > > Github > > e é licenciado sob Apache 2.0. Nossa política para "commit" é simples: 

> > Provas de que o código foi testado (só a presença de testes idempotentes prova isso);> > Transparência (não implementaremos nada que mude essa orientação):> > Padrões (não faremos nada que fuja às definições das métricas);> > 
> > Verdade (nada de "camuflar" ou "suavizar" resultados. Ferramenta não pode tomar decisão de humano);
> > Se seguir essa política e fizer um bom trabalho, poderá ser um "committer". 

> > Ele pode ser usado em conjunto com outros plugins para produzir uma análise completa e confiável do seu código Java, por exemplo, um conjunto que eu costumo usar é:
> > jQana > > (> > http://jqana.com> > );> > 
> > JDepend > > (> > http://clarkware.com/software/JDepend.html> > );> > PMD > > (> > http://pmd.sourceforge.net/> > );> > 
> > Checkstyle > > (> > http://checkstyle.sourceforge.net/> > );> > Findbugs > > (> > http://findbugs.sourceforge.net/> > )

> > 
> > Software proprietário não é a pior coisa do mundo. Você paga e tem um serviço em retorno. A pior coisa do mundo é falta de transparência! Software que se diz "livre" e muda as regras do jogo quando você mais precisa dele. Tenha certeza de uma coisa: o jQana é e sempre será livre e transparente. 
> > 
> > O jQana já está sendo utilizado, até por empresas privadas, embora ainda esteja em versão beta. Estamos sempre procurando novos desenvolvedores para nossa comunidade. 
> > 
> > -- 
> > Cleuton Sampaio, Analista. M.Sc., PMP, SCEA
> > 

------------------------------------------------------------------------------
> > 
SERPRO / SUPST / STDAI
> > 
#21 7802 /> >  (21) 3509-7802
> > 
> > 
"Felizes aqueles cujo conhecimento é livre de ilusões e superstições", Sidarta Gautama, o Buda.
> > 
> > 
-
> > 
> > 
> > 
"Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."
> > 
> > 
"This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure."
> > 

> > _______________________________________________
> > 
Cisl-comunidade mailing list
> > Cisl-comunidade em listas.softwarelivre.org
> > http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/cisl-comunidade
> > 


> > 



-


"Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."

"This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure."
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.softwarelivre.org/pipermail/cisl-comunidade/attachments/20140129/c4bc6674/attachment-0001.html>


More information about the Cisl-comunidade mailing list