Em NetBeans, Matisse e Web Services talvez você tenha percebido estranhas linhas amarelas no código-fonte do método searchIP.
Tratá-se do PMD em ação. PMD é mais uma das ferramentas utilizadas para ajudar programadores a tornarem o código-fonte de seus softwares mais seguros, eficientes e livre de erros.
Outras ferramentas utilizadas para o mesmo fim são FindBugs e Jackpot.
Instalação
Embora seja possível utilizar o PMD stand-alone, é mais interessante fazê-lo como plugin de sua IDE favorita. Para tê-lo como plugin no NetBeans, configure-o para poder baixar plugins diretamente do site nbextras.org. As instruções estão aqui.
Na wizard Update Center, procure pelo PMD em NBExtras Update Center e instale o módulo.
Também é possível instalar a partir de um arquivo .nbm contendo apenas o módulo PMD. Se optar por instalar dessa forma, veja como aqui.
Configuração
Configure o PMD em Tools -> Options -> Basic Options -> Miscellaneous -> PMD. (Veja figura 1.)
Se quiser analisar o código ao mesmo tempo em que programa (foi o que eu fiz em NetBeans, Matisse e Web Services), clique na caixa Enable scan.
Há uma série de regras (rules) que o PMD usa para decidir o que deve relatar como advertência e quais sugestões apontar. Não é um bom negócio deixar todas as regras ativas - linhas amarelas apareceriam por todo o código-fonte, sendo algumas de importância mínima ou relativa, desviando o foco do que realmente tem impacto na qualidade do software.
Por exemplo, no conjunto de regras controversas há regras polêmicas, onde não existe consenso entre programadores, como OnlyOneReturnPoint - a regra Highlander, pois só pode haver um (ponto de retorno num método). Talvez você não concorde com essa regra e queira usar múltiplos pontos de retorno dentro de um método.
Clique em Manage rules... para configurar o conjunto de regras que o PMD levará em considereção enquanto escaneia o código-fonte de seu programa.
Run PMD
Outra forma de escanear o código-fonte, é clicar com o botão direito do mouse no projeto, package ou arquivo na janela Project, e selecionar Tools -> Run PMD. Na janela Output, aparecerá a aba PMD Output com o relatório gerado pelo PMD. Cada linha é um link para o ponto onde há uma advertência - linha amarela.
Rules - Sugestões
As regras CloseResource, CompareObjectsWithEquals, ConstructorCallsOverridableMethod, FinalFieldCouldBeStatic e UnusedImports são fortemente recomendáveis.
ImmutableField, LocalVariableCouldBeFinal, MethodArgumentCouldBeFinal marcam presença. Ajudam a distinguir campos (fields) de variáveis (variables) tornando o código mais legível para quem o lê e também mais seguro, pois fica garantido que um campo não tenha seu valor alterado.
Essa garantia, no entanto, é parcial. Objetos qualificados com final têm apenas as referências que lhe são atribuídas como final (constantes), e não o seu valor.
Sexta-feira, Dezembro 29, 2006
PMD in Action
Assinar:
Postar comentários (Atom)

2 comentários:
Legal teu "mini tutorial" do PMD no Netbeans...
Eu utilizo ele há um bocado de tempo, baseio minhas regras de lógica muito nele.
Parabens!
Obrigado pelo comentário, Elias. Feedback é sempre bem-vindo.
O PMD tem me ajudado a desenvolver softwares com mais qualidade, por isso escrevi esse tutorial.
Postar um comentário