Este artigo tem por fim efetuar uma introdução ao conceito de refatoração, demonstrando suas principais características, vantagens e diversas técnicas que quando utilizadas em conjunto, permitem um ganho de produtividade em eventuais manutenções do código fonte, apresentando também os recursos que o Delphi XE 2 oferece para aplicar este processo.
Em que situação o tema é útil
Aplicar a Refatoração em Softwares que sofrem constantes alterações para que suas futuras manutenções possam ser efetuadas de maneira mais rápida e intuitiva através da utilização de diversas técnicas, boas práticas e ferramentas que permitem que este processo possa ser facilitado e automatizado ao máximo.
Refatoração
A manutenção de um software é um processo muitas vezes inevitável e inadiável onde o sistema em questão recebe diversas alterações que não estavam previstas na concepção do mesmo. São códigos e mais códigos que são utilizados para adaptar o software de acordo com a nova necessidade. Nesse movimento todo, trechos de códigos são alterados, movidos ou duplicados e por isso podem tornar o código fonte em geral mais difícil de ser intepretado e trabalhado pela equipe. Durante a vida de um Software, convém analisar se o mesmo necessita do processo de Refatoração. Este processo consiste em um conjunto de diversas técnicas e boas práticas que visam reduzir o código fonte, tornar o mesmo mais fácil de ser interpretado, diminuir a possibilidade de erros, reduzir o tempo gasto para eventuais manutenções, dentre outras vantagens, sem que os códigos fontes tenham seus propósitos finais alterados, ou em outras palavras, chegar ao mesmo resultado de uma maneira mais fácil, intuitiva e padronizada. Neste artigo primeiramente é abordada uma introdução ao conceito de Refatoração, bem como algumas de suas técnicas mais comuns que podem ser aplicadas em diversas linguagens. Posteriormente, são demonstrados os recursos que o Delphi XE 2 oferece para facilitar e automatizar a aplicação deste processo que pode aumentar muito a produtividade. Muitos destes recursos também estão presentes em outras versões do Delphi
O desenvolvimento de um Software é um projeto que engloba um planejamento, diversas fases, ferramentas e técnicas. Entretanto, desde sua concepção, mesmo um software que tenha sido extremamente bem planejado e organizado, pode vir a sofrer diversas mudanças “inesperadas” em sua estrutura para que o mesmo possa ser adaptado às novas necessidades do dia-a-dia, uma vez que Softwares integrados não dependem apenas da entidade em si, mas também de fatores externos como é o caso da apresentação de documentos fiscais perante a Receita, entre outros vários fatores. Sendo assim, muitas vezes o projeto precisa ser revisto e alterado de última hora para atender aos novos requisitos e seu código fonte pode sofrer diversas alterações que não foram devidamente previstas anteriormente, levando em consideração também que pode haver outro desenvolvedor destinado a esta tarefa, aplicando assim sua própria forma de desenvolver e não seguindo um padrão pré-definido anteriormente pelos outros desenvolvedores do sistema.
A Refatoração ou Refactoring é um conceito constituído de diversas técnicas que consistem basicamente em alterar o código fonte de um Software existente para que o mesmo se torne mais confiável, simples, flexível, intuitivo e sustentável, sem que sua funcionalidade possa ser afetada, melhorando também a estrutura interna do Software em questão. Com uma maior facilidade na interpretação e alteração do código, a manutenção ou o desenvolvimento realizado pela equipe se torna muito mais ágil, minimizando a quantidade de erros e consequentemente aumentando significativamente a qualidade do mesmo. As técnicas provenientes da Refatoração também são constituídas de diversas boas práticas de programação.
O processo de Refatoração poderia ser resumido em uma “revisão” e organização do código e é divido em diversas fases simples e pequenas, mas que quando são utilizadas em conjunto permitem um efeito bastante significativo. Evidentemente, toda alteração que é realizada no código fonte, como é o caso da aplicação das técnicas de Refatoração, por menor que possam ser, implica em uma nova fase de testes onde o ideal é que a cada alteração ou fase que seja concretizada, sejam efetuados diversos testes em seguida para facilitar na identificação de possíveis erros, uma vez que não convém efetuar diversas técnicas de Refatoração de uma vez e só então efetuar os testes, pois seria muito mais difícil encontrar possíveis falhas.
Além das vantagens obtidas ao utilizar a Refotoração já comentadas, normalmente também é possível obter uma redução do código fonte do software, uma vez que o código pode conter métodos duplicados ou funções desnecessárias.
...