Limpeza de projetos Java com Eclipse e plug-ins

Se você alguma vez tiver que trabalhar com código legado feio (ugh),
ou se quiser refatorar um código muito complexo (talvez para reduzir a complexidade ciclomática?) Sem quebrar nada,
aqui estão algumas dicas práticas que você pode usar com o Eclipse.
Na versão Kepler,
você pode instalar todos os plug-ins que menciono abaixo usando o Marketplace.

Livre-se do lixo com UCDetector

Antes de começar a otimizar qualquer coisa,
é melhor primeiro remover todas as classes e métodos não usados.
Caso contrário, você pode perder tempo com coisas que realmente não importam.

Este plugin detecta classes e métodos não referenciados.
Clique com o botão direito em um projeto
e selecione UCDetector | Detecte código desnecessário .
A verificação inicial pode demorar um pouco.
Quando terminar,
vá para a visualização Problemas
e use o menu da visualização para agrupar por Tipo .
Você deve ver as categorias do UCDetector,
mais importante a seção Referências .

Tenha cuidado, nem tudo que não é referenciado é lixo!
Algumas classes e métodos podem ser usados ​​por Spring, Hibernate, código de terceiros ou reflexão.
Se, após pensar cuidadosamente,
você não vir uma razão para essas classes e métodos existirem,
então elimine-os.
Você sempre pode trazê-los de volta do seu VCS, se necessário.

Parabéns,
seu débito técnico já diminuiu!
E muito provavelmente sua cobertura de teste também aumentou!
Leia a página inicial do projeto com atenção,
ela dá outras dicas úteis.

Encontre código perigoso com FindBugs

Se você nunca tentou isso,
garanto que ficará surpreso com os danos que você mesmo infligiu ao seu precioso projeto.
Clique com o botão direito em um projeto e selecione Find Bugs | Encontre Bugs .
A verificação inicial pode demorar um pouco.
Quando terminar,
abra o Bug Explorador vista e eis que os horrores,
em mais assustador , muito assustador e assustador categorias.
Eu não disse que você ficará surpreso 😉

Refatorar código complexo com segurança com EclEmma

Como você refatora algum código realmente complexo, com segurança?
Como você pode ter certeza de que não está quebrando nada no processo?
Aqui está uma maneira:

  1. Adicione testes de unidade para cobrir TODOS os caminhos de execução. 100%, sem exceções.
  2. Refatorar. Se os testes ainda passarem, deve estar correto. Direito?

EclEmma não irá refatorar nada para você, infelizmente.
Mas ele mostrará os caminhos de execução que você percorreu ou perdeu.
Abra sua classe de teste de unidade e use a barra de ferramentas do EclEmma para executar os testes.
Mude para a classe em teste
e você verá as linhas destacadas com as cores verde-amarelo-vermelho,
dependendo de onde a execução foi aprovada ou não durante os testes.
Continue adicionando casos de teste até que todas as linhas no método de destino sejam verdes,
nenhuma linha vermelha ou amarela.
Agora você pode ir em frente e refatorar com segurança,
seus testes de unidade o protegem!

Fique limpo usando SonarQube

Anteriormente conhecido como Sonar,
este não é um plugin do Eclipse, mas uma ferramenta de verificação de qualidade de código.
Normalmente parte da integração contínua,
rodando automaticamente em um servidor após suas construções.
A configuração está além do escopo deste artigo.
Espero que você o tenha implementado em seu trabalho.
Descubra e habilite-o para seus projetos.

Você certamente deve corrigir todas as violações críticas
e provavelmente as principais também.
Se houver uma série de problemas assustadores,
talvez você possa dar um passo a passo para aliviar a dor gradualmente.
Faça com que cada um dos seus colegas de equipe resolva N problemas por semana,
e seus projetos ficarão cada vez mais limpos e mais limpos!

É isso aí?

Você tem mais ideias?
Você sabe como fazer essas coisas no IntelliJ?
Por favor comente!