Key points are not available for this paper at this time.
Contexto Abordagens para documentar os padrões de software de um sistema podem apoiar a documentação intencional e manual ou a extração automática a partir do código-fonte. Algumas das abordagens que revisamos não mantêm proximidade entre o código e a documentação. Outras não atualizam a documentação após a alteração do código. Todas apresentam um baixo nível de atualidade. Abordagem Este trabalho propõe uma abordagem para melhorar a compreensibilidade de um sistema de software documentando os padrões de design que ele usa. Consideramos a criação e a documentação de software como parte do mesmo processo e tentamos simplificar as duas atividades. Conseguimos isso aumentando o feedback sobre as instâncias dos padrões presentes no código, durante o desenvolvimento—ou seja, aumentando a atualidade. Além disso, nossa abordagem mantém proximidade entre o código e a documentação e nos permite visualizar as instâncias dos padrões no mesmo ambiente. Desenvolvemos um protótipo—DesignPatternDoc—para o IntelliJ IDEA que identifica continuamente instâncias de padrões no código, sugere-as ao desenvolvedor, gera a respectiva documentação da instância do padrão e permite edição e visualização ao vivo dessa documentação. Resultados Para avaliar essa abordagem, conduzimos um experimento controlado com 21 desenvolvedores novatos. Pediu-se aos participantes que completassem três tarefas que envolviam entender e evoluir pequenos sistemas de software—até seis classes e 100 linhas de código—e registramos a duração e o número de mudanças de contexto. Os resultados mostram que nossa abordagem ajuda os desenvolvedores a gastar menos tempo entendendo e documentando um sistema de software em comparação ao uso de ferramentas com um grau de atualidade mais baixo. Além disso, integrar a documentação no IDE e mantê-la próxima ao código-fonte reduz significativamente as trocas de contexto.
Lemos et al. (Sex,) estudaram essa questão.