O tempo gasto na refatoração de uma base de código vale a pena a longo prazo, em termos de produtividade do desenvolvedor?
Parece-me bastante claro que modificar um sistema limpo e bem projetado é muito mais simples e rápido do que trabalhar em um sistema mal projetado, mas estou procurando evidências sólidas. Existem estudos sobre esse tópico?
productivity
complexity
Benny Hallett
fonte
fonte
Respostas:
Empiricamente, software com métricas de maior complexidade, como complexidade ciclomática, é mais difícil de manter. Há pesquisas apoiando isso desde os anos 1970 ("Complexidade do programa e produtividade do programador", ET Chen) . Também existe um trabalho que sugere que a densidade da complexidade, que é complexidade ciclomática em relação ao tamanho do sistema, também se relaciona ao tempo de manutenção ("Densidade da complexidade ciclomática e produtividade de manutenção de software", GK Gill, CF Kemerer) , que também está disponível gratuitamente aqui . Infelizmente, uma assinatura do IEEE é necessária para o artigo de Chen, mas você pode tentar procurá-la em outras fontes, se estiver interessado.
De uma perspectiva de qualidade, geralmente vale a pena gastar algum tempo refatorando, supondo que você tenha uma estrutura de teste para evitar a introdução de novos defeitos. Isso permitirá que você implemente mais facilmente novos recursos em seu sistema, adicione testes adicionais e treine novos desenvolvedores para o trabalho.
Por fim, no entanto, há pressão para oferecer novas funcionalidades e valor agregado. Você precisa equilibrar a refatoração com a implementação de novas funcionalidades e o reparo de defeitos.
fonte
Então pare de desperdiçar seu tempo aqui.
Encontre um código caro para manter. É fácil. Veja os registros de problemas da sua organização.
Encontre um código que seja barato de manter. Encontre o código que é executado com frequência, mas tem poucos ou nenhum registro de problemas.
Avalie a complexidade com qualquer uma das ferramentas de complexidade amplamente disponíveis.
Aproveite as evidências.
Você forneceu números para confirmar o óbvio.
fonte