Evitar que o código de projetos de software seja degradado através do tempo, é uma preocupação crescente dos desenvolvedores. Muitos projetos acabam por fracassar pelo fato do código ficar extremamente complexo para depurar ou ajustar a um desempenho aceitável. Para resolver esse problema, surgiu uma nova metodologia chamada Refatoração. A refatoração pode ser considerada como o processo de alteração da estrutura interna do software orientado a objetos, porém, sem alterar as suas funcionalidades já existentes. A refatoração pertence à área de Engenharia de Software, e tem por objetivo o contínuo aperfeiçoamento do código.Atualmente existe uma grande preocupação com a qualidade do código-fonte escrito pelos desenvolvedores. Entretanto, programadores inexperientes tendem a violar os princípios e objetivos da orientação a objetos, o que ocasiona os chamados bad smells (maus cheiros), tornando assim, o software com possíveis problemas de manutenção.Este trabalho apresenta a proposta de uma ferramenta para detectar bad smells em um conjunto de arquivos fonte escritos na linguagem Java e aplicar automaticamente, quando possível, as refatorações necessárias para eliminar os bad smells encontrados. A ferramenta também tem o objetivo de ser um mecanismo de aprendizado para desenvolvedores inexperientes, explicando o motivo de cada refatoração. |