Estava lendo um antigo livro sobre programação e achei um parágrafo muito interessante:
Fragilidade de um software.
"A fragilidade é o grau em que as alterações pequenas influenciarão as partes grandes do sistema. O software tente a ser difícil de manejar por muitas razões, mas a razão principal é a fragilidade."
Muitos sistemas são feitos através de muita documentação para que cubra todos os casos de uso, mas o mais importante é esquecido, os testes automatizados. É muito simples fazer um teste, eu mesmo ensino meus alunos a fazer testes de unidade em pascal assim que começa o conteúdo de sub-programação.
Na maioria dos casos o mais complicado é a vontade de fazer o teste. Ou seja, é mais fácil implementar ou alterar a aplicação e testar na interface gráfica com apenas um "caso feliz" do que deixar no legado no sistema um caso de uso implementado.
Outra parte do texto diz: "Isso, por sua vez, resulta no legacy lock-in (prisão ao sistema legado) e outras perversões". O que seria em outras palavras "Se está funcionando, não mexe!".
E para concluir o texto ainda diz que é lamentável a distância que existe entre muitos sistemas que existem no mercado e uma boa arquitetura de código.
Nenhum comentário:
Postar um comentário