Reestruturação de Software
Um software pode sofrer várias mudanças durante sua vida útil, e essas mudanças contínuas geralmente fazem com que ele tenda a ficar menos estruturado. Isso manifesta-se em documentação incorreta, código sem padrão e tempo maior para os programadores entendê-lo, aumentando os custos com a manutenção de software.
Reestruturação é o processo de transformação de um software de uma forma de representação não -estruturada em uma forma estruturada preservando sua funcionalidade. Sua finalidade é fazer o software mais fácil de se entender e mudar, ou ficar menos suscetível a erros quando mudanças futuras fores feitas.
"O conceito de Reestruturação foi usado por Bohm e Jacopini como a base para a prova original de que qualquer programa pode ser escrito em uma forma estruturada, usando apenas 3 construções: sequência, condição e repetição. Em 1971, Ashcroff e Manna demonstraram que programas desestruturados contendo comandos de desvio de fluxo, como o comando GOTO, poderiam ser traduzidos facilmente em uma forma estruturada equivalente" Yourdon.
O uso da Reestruturação não transforma código ruim em código bom, mas tende a reduzir a complexidade do programa ao reorganizar o fluxo lógico, de forma que o programador possa ler a listagem do programa em linha reta. O termo possui um significado maior, pois reconhece a aplicação de transformações similares em modelos de dados, projetos, e estrutura de requisitos. Normalização é um exemplo de Reestruturação de um banco de dados para melhorar seu modelo lógico.
Um pequeno exemplo de reestruturação:
O código a seguir feito na liguagem x incialmente estava assim:
Suponha que referido trecho faça parte de uma grande aplicação e alguém vá dar manutenção no mesmo. Fica complicado entender o significado do código apenas olhando, sem comentário e com nomes de variáveis estranhos.
Alguém teve pena dos mantenedores e resolveu reestruturar o código, que ficou assim:
...
1500 IF salarioBruto > limiteIsencao then
1600 calculaImposto();
1700 else
1800 isento := true;
....
O que foi feito? Apenas colocou-se nome mais claros para as variáveis e funções, identou-se o código e tirou-se o desvio de fluxo (GO TO).
Alguns ambiente de desenvolvimento já vem com ferramentas que facilitam a reestruturação, com funções de auto-identação, ferramentas de refatoração, etc.
Vantagens da Reestruturação:
Reestruturação é o processo de transformação de um software de uma forma de representação não -estruturada em uma forma estruturada preservando sua funcionalidade. Sua finalidade é fazer o software mais fácil de se entender e mudar, ou ficar menos suscetível a erros quando mudanças futuras fores feitas.
"O conceito de Reestruturação foi usado por Bohm e Jacopini como a base para a prova original de que qualquer programa pode ser escrito em uma forma estruturada, usando apenas 3 construções: sequência, condição e repetição. Em 1971, Ashcroff e Manna demonstraram que programas desestruturados contendo comandos de desvio de fluxo, como o comando GOTO, poderiam ser traduzidos facilmente em uma forma estruturada equivalente" Yourdon.
O uso da Reestruturação não transforma código ruim em código bom, mas tende a reduzir a complexidade do programa ao reorganizar o fluxo lógico, de forma que o programador possa ler a listagem do programa em linha reta. O termo possui um significado maior, pois reconhece a aplicação de transformações similares em modelos de dados, projetos, e estrutura de requisitos. Normalização é um exemplo de Reestruturação de um banco de dados para melhorar seu modelo lógico.
Um pequeno exemplo de reestruturação:
O código a seguir feito na liguagem x incialmente estava assim:
...
1500 IF salb> valis then calimp else goto 2000 end-if
...
...
Suponha que referido trecho faça parte de uma grande aplicação e alguém vá dar manutenção no mesmo. Fica complicado entender o significado do código apenas olhando, sem comentário e com nomes de variáveis estranhos.
Alguém teve pena dos mantenedores e resolveu reestruturar o código, que ficou assim:
...
1500 IF salarioBruto > limiteIsencao then
1600 calculaImposto();
1700 else
1800 isento := true;
....
O que foi feito? Apenas colocou-se nome mais claros para as variáveis e funções, identou-se o código e tirou-se o desvio de fluxo (GO TO).
Alguns ambiente de desenvolvimento já vem com ferramentas que facilitam a reestruturação, com funções de auto-identação, ferramentas de refatoração, etc.
Vantagens da Reestruturação:
- Código reestruturado é funcionalmente equivalente ao programa original;
- Torna o software mais fácil de se entender;
- Facilita a documentação;
- Aumenta a produtividade reduzindo o tempo de manutenção;
- Aumenta o tempo de vida do software
Por hoje é só!!!
Comentários
Postar um comentário
Deixe sua sugestão ou críticas