Manutenibilidade: seu usuário não vê, mas ele sente
Como está a manutenibilidade do software que você está testando hoje? Porque é importante se preocupar com ela?
Manutenibilidade é uma característica de qualidade não funcional (ou seja, não está relacionada com a funcionalidade) que nos dá uma medida da facilidade em dar manutenção em um software (corrigir bugs, implementar novas funcionalidades…).
E o que significa uma manutenibilidade ruim? Código difícil de ler, entender, alterar e testar. E quais são as causas? Alguns exemplos são: código duplicado, classes grandes demais, variáveis cujo nome não segue nenhum padrão, código morto…
Quando o código é difícil de manter, aumenta o risco de a correção de um bug gerar vários outros, de a implementação de uma nova funcionalidade fazer outras pararem de funcionar corretamente, e assim por diante. Isso afeta a confiança que os usuários tem no software.
E como melhorar a manutenibilidade? O primeiro passo é entender onde estão os problemas. O uso de ferramentas pode ajudar muito!
Por exemplo, o SonarQube procura por problemas de manutenibilidade (chamados de Code Smells) dentre outros tipos de problemas. Pode ser um bom ponto de partida para analisar e melhorar a qualidade do código :)