quarta-feira, 7 de abril de 2010

Fragilidade

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