Até que ponto a refatoração de código utilizando Cognitive-Driven Development melhora a legibilidade
Cognitive-Driven Development, Readability, Cognitive Load
Background: Cognitive-Driven Development (CDD) é uma técnica de design de codificação que visa reduzir o esforço cognitivo dos desenvolvedores na compreensão de uma determinada unidade de código (por exemplo, uma classe). Seguindo as práticas de design do CDD, espera-se que as unidades de codificação sejam menores e, portanto, mais fáceis de manter e evoluir. No entanto, é tão desconhecido se essas unidades de código menores codificadas usando padrões CDD são mais fáceis de entender. Objetivos: Este trabalho visa avaliar o quanto o CDD melhora a legibilidade do código. Método: Para atingir esse objetivo, realizamos um estudo em duas fases. Começamos convidando desenvolvedores de software profissionais a votar (e justificar sua justificativa) no par de trechos de código mais legível (de um conjunto de 10 pares); um dos pares foi codificado usando práticas de CDD. Recebemos 133 respostas. Na segunda fase, aplicamos o modelo de legibilidade de última geração aos 10 pares de CDD-driven refactorings. Results: Observamos alguns resultados conflitantes. Por um lado, os desenvolvedores perceberam que sete (de 10) CDD-driven refactorings eram mais legíveis do que suas contrapartes; para outros dois CDD-driven refactorings, os desenvolvedores ficaram indecisos, enquanto apenas em um dos CDD-driven refactorings, os desenvolvedores preferiram o trecho de código original. Por outro lado, notamos que apenas um CDD-driven refactorings possui melhor legibilidade de desempenho, avaliada por modelos de legibilidade de última geração. Conclusões: Nossos resultados fornecem evidências iniciais de que o CDD pode ser uma abordagem empolgante para o design de software.