Linter Bad Smells

Lucas Gonçalves Antunes Paiva

No contexto de engenharia de software existem algumas ferramentas como: Checker, ESLint  e Prettier, que auxiliam os desenvolvedores a aumentar a qualidade dos produtos implementados. No contexto Javascript, o ESLint tem-se destacado como sendo uma das aplicações mais usadas, possuindo mais de 100 milhões de downloads mensais de acordo com a sua página. O ESLint é uma ferramenta de análise de código estática para identificar erros de programação ou na estilização do código. As regras avaliadas pelo linter podem ser definidas pelo próprio engenheiro de software. Contudo, existem vários plugins que predefinem os princípios que serão avaliados por essa ferramenta, por exemplo: Babel, React, Hooks, entre outros. Atualmente, grande parte desses linters possuem um foco maior na parte da estilização e formatação do código, mas ainda não possuem suporte para a análise de code smells,  também conhecidos como bad smells. Dado este contexto, este Trabalho Final do Curso, POC I e II, propôs e desenvolveu uma ferramenta, Linter Bad Smells. Esta ferramenta é um linter para a linguagem Javascript cujos objetivos são: auxiliar desenvolvedores de software na análise do código fonte; facilitar a identificação de possíveis bad smells em aplicações desenvolvidas nessa linguagem; difundir os conceitos de code smells para a comunidade Javascript; e auxiliar os engenheiros de software a refatorar code smells identificados pelo Linter Bad Smells no código fonte analisado via a adição de um módulo de refatoração associado à documentação da ferramenta. Tais objetivos visam aumentar a qualidade do código implementado. As principais contribuições deste trabalho são: (1) documentação das métricas e code smells utilizados na ferramenta; (2) disponibilização do Linter Bad Smells como um plugin para a comunidade científica; (3) disponibilização da documentação sobre a refatoração da ferramenta Linter Bad Smells na página do plugin para a comunidade científica; (4) geração de um relatório final sobre o tema da monografia; (5) atualização do Linter Bad Smells para suportar links dentro das mensagens de erro para levar o usuário para a documentação de refatoração; (6) geração de vídeos explicando o que é a ferramenta e como utilzá-la;  e, (7) descrição sobre a arquitetura e utilização do Linter Bad Smells.

 


(POC-1 ) 2021-1 e (POC-2) 2021-2 - POC2

Orientador: Mariza A. S. Bigonha - coorientador: Bruno Luan de Sousa

Palavras-chave: Linter Bad Smells, Bad smells, Code Smell, refatoração, Javascript

Link para vídeo

PDF Disponível