Um catálogo de refatorações envolvendo expressões lambda em Java
Resumo
A evolução de uma linguagem de programação fornece espaços para melhorias de programas
existentes. Dessa forma, desenvolvedores podem atualizar projetos de sistemas de software,
aplicando os novos recursos disponíveis na linguagem. No entanto, ao adaptar, melhorar e
modificar um sistema de software, seu código pode se afastar de sua concepção original. Nesse
contexto, o uso de técnicas e processos de transformação pode ser interessante, pois reduz a
possibilidade de erros ao realizar uma melhoria em uma estrutura de código, por exemplo. A
refatoração é um processo de melhoria do projeto de um sistema de software, que altera sua
estrutura interna, sem modificar seu comportamento externo observável. A partir desse cenário,
este trabalho tem como principal objetivo apresentar um catálogo de refatorações direcionadas
às novas funcionalidades da linguagem Java. Tais refatorações estão relacionadas às expressões
lambda e visam permitir a transformação de construções implementadas em Java 7 para sua
atual versão 8. Para avaliar a aplicabilidade das refatorações propostas, um conjunto de projetos
de código aberto foi submetido a uma ferramenta de análise estática, desenvolvida para
realizar buscas por oportunidades de refatoração.