Por que eu devo ler este artigo:Este artigo é útil para todo aquele que pretende expandir as funcionalidades do IDE Eclipse, com o intuito de adequá-lo às suas necessidades. Inicialmente, será apresentada a motivação para o desenvolvimento de plug-ins para um IDE. Posteriormente, um plug-in “Hello, World” será desenvolvido e serão descritas as maneiras disponíveis para distribuição desse plug-in aos usuários. Por fim, será apresentada a construção de um plug-in capaz de verificar se o identificador das classes de um projeto atende ou não às convenções de nomenclatura para código Java, disponibilizadas pela Oracle.

Convenções de nomenclatura são diretrizes para a confecção de nomes (identificadores) de classes, interfaces, atributos, métodos, entre outros, para uma determinada plataforma. Um exemplo de convenção de nomenclatura bem conhecido para a linguagem Java é: “o identificador das classes deve iniciar com letra maiúscula”. Parece uma regra ingênua ou até mesmo óbvia, mas um aspecto importante para a garantira da qualidade de um software é seguir as boas práticas estabelecidas e preconizadas pela comunidade científica e pelos profissionais, durante o desenvolvimento do mesmo.

Alguns ambientes de desenvolvimento integrados (em inglês, Integrated Development Environment – IDE), como o Eclipse, informam o usuário sobre a violação de algumas convenções de nomenclatura no momento da criação de um elemento, como uma classe, uma interface, um projeto, entre outros. Por exemplo, a Figura 1 apresenta um aviso enviado pelo Eclipse, desencorajando o usuário a criar uma classe denominada minhaClasse, cujo identificador não inicia com letra maiúscula.

Figura 1. Aviso sobre a violação de uma convenção de nomenclatura, enviado pelo Eclipse.

Essa funcionalidade do Eclipse é importante, porém ela apresenta a seguinte limitação: “se considerarmos um projeto de software já existente (legado), não há como descobrir quais são os problemas presentes neste projeto, com respeito às convenções de nomenclatura”. Neste sentido, este artigo tem como finalidade apresentar os passos para construção de um plug-in para o IDE Eclipse cujo intuito é identificar violações de convenções de nomenclatura em softwares implementados em Java.

Nota: O plug-in para a ferramenta CASE Astah* tem como intuito verificar se a nomenclatura das classes de um diagrama de classes da UML (Unified Modeling Language) estava de acordo com algumas convenções de nomenclatura preconizadas pela Engenharia de Software; neste caso, o guia de convecção de nomenclatura para a linguagem Java, disponibilizado pela Oracle, foi adotado.

Nota: É importante salientar que já existem bons plug-ins para Eclipse cujo intuito é verificar se há violação de convenções de nomenclatura em um código fonte Java, como o Eclipse-CS. Sendo assim, o intuito deste artigo não é ser inovador, mas sim, apresentar os principais conceitos para construção de plug-ins para o IDE Eclipse.

Inicialmente, iremos abordar apenas uma convenção de nomenclatura simples e que envolve os identificadores das classes. Contudo, com as informações presentes neste artigo, o leitor será capaz de estender o plug-in desenvolvido, para que o mesmo possa identificar outros tipos de violações, envolvendo métodos, atributos, interfaces, entre outros. Neste trabalho, o IDE Eclipse foi escolhido pelos seguintes motivos: (i) é open-source e gratuito; (ii) trata-se de um IDE robusto e bem conhecido no mercado; e (iii) é flexível a ponto de permitir a construção de plug-ins que possam complementar sua funcionalidade.

Cabe ressaltar que o enfoque principal deste artigo não está sobre o uso do Eclipse para construção de projetos Java, mas sim, para a extensão deste IDE, por meio da construção de plug-ins. A razão para isso se baseia em dois aspectos:

1. O uso do Eclipse para construção de projetos de software é bastante difundido no meio acadêmico e industrial. Sendo assim, bons tutorias e conteúdos sobre o uso dessa ferramenta para esta finalidade podem ser facilmente obtidos e entendidos, ao contrário do que ocorre com o assunto relacionado à confecção de plug-ins. A quantidade de material é bem escassa e esse assunto é pouco discutido em salas de aulas;

2. Há um grande potencial científico relacionado com a construção de plug-ins para ferramentas desse tipo. Muitas pesquisas têm sido conduzidas em torno da avaliação da qualidade de código fonte e a construção de plug-ins para IDEs pode contribuir para que as teorias propostas nestas pesquisas sejam devidamente automatizadas. Isso pode ampliar a probabilidade de estas pesquisas serem realmente aplicadas em cenários reais de produção de software.

Neste artigo, pretendo seguir a mesma sequência de apresentação utilizada neste blog, isto é, inicialmente aborda-se a preparação do ambiente de desenvolvimento, a construção de um plug-in no estilo “Hello, World” e sua instalação no Eclipse e, por fim, a construção do plug-in de exemplo. A Tabela 1 apresenta a lista de softwares utilizados neste artigo, bem como suas respectivas versões. Os endereços para download podem ser verificados na seção Links ...

Quer ler esse conteúdo completo? Tenha acesso completo