Motivações para aplicação da refatoração extract method: um estudo baseado em mensagens de commit - Henrique, Jalisson dos Santos (2023)
Refatorações são operações realizadas no código fonte que visam melhorar a capacidade de manutenção de um sistema de software. Apesar da literatura conter diversos estudos sobre refatorações, são poucos os trabalhos que investigam as motivações reportadas pelos desenvolvedores para realizar refatorações. Portanto, esta pesquisa tem o objetivo de investigar as motivações por trás das refatorações de extract method em sistemas reais. Para isso, foram conduzidos dois estudos experimentais, um preliminar envolvendo um único sistema de software, e um outro estudo onde foram considerados diversos sistemas. Os estudos foram baseados em mineração de commits onde ocorreram refatorações do tipo extract method em sistemas reais. Basicamente, buscou-se analisar as mensagens desses commits visando capturar as motivações dos desenvolvedores para realizar tais refatorações. Os resultados apontaram 16 motivações diferentes para a aplicação do extract method. Além disso, observou-se que apenas 16% das refatorações tiveram intenção explícita de melhorar a qualidade do código. Também foi identificado que as refatorações com intenção de melhorar a qualidade do código ocorreram com maior frequência em métodos com tamanho acima de 61 linhas de código e com menor frequência em métodos abaixo de 20 linhas de código.