Artigo Engenharia de Software 12 - Ferramentas de Qualidade de Código

Artigo da Revista Engenharia de Software edição 12.

Esse artigo faz parte da revista Engenharia de Software 12 edição especial. Clique aqui para ler todos os artigos desta edição

Desenvolvimento

Ferramentas de Qualidade de Código

Automação do processo de aderência a padrões de codificação com Checkstyle

 

De que se trata o artigo: Este artigo aborda o emprego de ferramentas de qualidade de código, objetivando apresentar aos desenvolvedores como essas ferramentas podem ser úteis na automação da aderência a padrões de codificação estabelecidos.

 

Para que serve: Através de exemplos de aplicação desenvolvidos em uma ferramenta típica de qualidade de código, o Checkstyle, são apresentados os benefícios concretos e ganhos de produtividade no desenvolvimento dessas aplicações.

 

Em que situação o tema é útil: O emprego de ferramentas de qualidade de código é útil em ambientes de desenvolvimento de software no sentido de automatizar a aderência a padrões de codificação, liberando os programadores de um conjunto de tarefas complexas e enfadonhas de serem realizadas sem suporte computacional específico.

 

 

Escrever código de boa qualidade é um requisito importante para os programadores. Mas o que isso de fato significa? Na prática, uma definição clara do que seja código fonte de qualidade pode variar bastante e depender de diversos fatores relacionados ao desenvolvimento de software, entre os quais o leitor pode considerar: ser seguro, rápido, enxuto, de fácil manutenção e possível de estender e de ser entendido por outros desenvolvedores. Além disso, a linguagem de programação utilizada no projeto é fator importante nessa discussão.

O objetivo aqui é apresentar uma ferramenta de qualidade de código que pode ser utilizada em projetos de desenvolvimento em Java. O enfoque do artigo concentra-se no Checkstyle, embora o programador possa utilizar outros softwares similares, tais como PMD, FindBugs, Dependency Finder e SQE. Dada a importância deste assunto, também será abordado um exemplo de integração da ferramenta com o ambiente de desenvolvimento integrado Eclipse, embora os usuários do NetBeans e outros ambientes de desenvolvimento integrado (IDE, do inglês Integrated Development Environment) também possam contar com esse apoio.

 

Parâmetros para avaliar a qualidade de código

Entre os aspectos que podem ser considerados a fim de avaliar a qualidade de código incluem-se: formatação consistente e facilidade de entendimento (endentação e espacejamento); regras de nomeação consistentes; ausência de erros de compilação; capacidade adequada e consistente de tratamento de erros de execução; aderência a boas práticas de programação e de projeto; e documentação abrangente e de fácil entendimento em todo o código fonte.

Naturalmente que algumas dessas características podem ser consideradas mais fáceis de serem implementadas, mas não todas. Muitas empresas e organizações possuem padrões documentados que os desenvolvedores devem seguir. Na prática, tem sido muito difícil para essas organizações obterem sucesso nessa padronização. A questão é que, para se adequarem, os programadores precisam assimilar os padrões adotados e reverem frequentemente o código produzido para garantir a sua conformidade. Esse processo gasta tempo e é complexo de ser conduzido manualmente.

Uma alternativa mais racional é o emprego de ferramentas capazes de automatizar o processo de avaliação da qualidade de código. Certamente o processo torna-se ainda mais produtivo se tais ferramentas puderem ser utilizadas diretamente a partir de IDEs disponíveis.

Checkstyle

Checkstyle é uma ferramenta de qualidade de código projetada para auxiliar os programadores a detectar violações de estilo de codificação em Java. A versão 5, compatível com Java 5 ou superior, foi lançada em meados de 2008 e encontra-se disponível sob licença LGPL. O software pode ser usado como um aplicativo, como parte de um script Ant ou como um plugin para IDEs como Eclipse, NetBeans e " [...] continue lendo...

Artigos relacionados