Refactoring
Refactoring é a prática de melhorar o trabalho já realizado sem alterar as funcionalidades desenvolvidas, ou adicionar algo novo. A equipa procurar melhorar o desenho ou estrutura do produto, reconhecendo que a versão actual pode trazer potenciais problemas no futuro.
A prática de refactoring está normalmente mais associada ao desenvolvimento de software, mas qualquer área de especialização pode adoptá-la. No caso do software, refactoring pode se referir a limpar o código para o alinhar às boas práticas. Como resultado, a equipa pode melhorar o desempenho do produto ou facilitar a sua manutenção, compreensão, e integração.
Refactoring é frequentemente invisível para os utilizadores. Assim, o utilizador não recebe nenhuma funcionalidade adicional. No entanto, um produto melhor estruturado tem muitas vezes um melhor desempenho a um menor custo.
CURSOS AGILE
Porquê Fazer Refactoring?
A realidade é que várias pessoas ao mesmo tempo realizam o trabalho de um projecto. Cada pessoa pode ter diferentes graus de conhecimento e formas de fazer. Cada pessoa coloca o seu cunho, faz trabalho que não é preciso e deixa extras que não são necessários. Como resultado, o produto tem muitas vezes falta de consistência. Adicionalmente, a equipa pode “cortar esquinas” para acelerar o trabalho.
O que acontece no fim é que mesmo que o produto funcione, podem-se limar arestas para que funcione ainda melhor. O refactoring ajuda assim a limpar os produto, uniformizando o trabalho realizado e tornando o produto mais fácil de manter no futuro, para além de certamente melhorar a performance.
Imagine que estão a construir um carro às peças e cada pessoa faz a sua peça. Cada pessoa quer garantir que a sua peça encaixa em qualquer sítio e de qualquer forma. Para isso, cada pessoa adiciona várias alternativas. Quando se monta a peça, existem fios extras e outros componentes que não são necessários. Se multiplicarmos isso por todas as peças que existem no motor de um carro, iremos ter metros e metros de fio que não é necessário e outros componentes inúteis. O que o refactoring faz é desfazer-se de fios e componentes inúteis para que seja fácil manter o carro.
O refactoring também é necessário para manter o produto actualizado com os novos padrões.
Vantagens do Refactoring
Algumas das vantagens do refactoring são, por exemplo:
Manter o Produto Actualizado
Imagine que desenvolveu um plugin para usar num site com wordpress. O wordpress está constantemente em actualização. Se não actualizar o seu plugin, o seu plugin deixará de funcionar. Ou seja, ou faz refactoring ao seu plugin ou ele deixará de funcionar. Em última análise, perderá clientes para a sua concorrência.
Manter a Performance do Produto
O refactoring ajuda a manter a performance do produto. Todos sabemos que ter extras no produto que são inúteis irá pesar no desempenho sem necessidade. O refactoring irá, assim, fazer uma limpeza que ajudará a manter o produto rápido. Por exemplo, imagine que tem em sua casa muitas coisas que não precisa e não usa, por exemplo jornais, revistas, entre outras coisas. Se de vez enquanto não fizer uma limpeza a essas coisas extra que não usa, a sua casa ficará mais difícil de manter arrumar e será menos alegre.
Manter o Produto Integrado e Fácil de Manter
O refactoring, por outro lado, também facilita que o produto se mantenha integrado e fácil de entender. Para além disso, fazer refactoring permite melhorar a manutenção do seu produto. Dessa forma, ter um produto limpo de lixo e extras desnecessários irá ajudar a fazer a manutenção e a manter o seu produto.
Para que um produto se mantenha por mais tempo é preciso que se vá ajustando às novidades que vão surgindo para não se tornar obsoleto. Mesmo que para o utilizador pareça que o produto não mudou, este sofreu uma evolução para acompanhar as novidades nos bastidores. O refactoring permite, desse modo, manter o seu produto actualizado com os padrões mais actuais. Isto porque, o mundo não é estático e as coisas vão mudando e evoluindo. Dessa forma, se não fizer actualizações ao seu produto ele deixará de ser relevante.
Por exemplo, iImagine que uma empresa só produzia carros a Diesel. Dessa maneira, se não procurar actualizar o seu produto para usar outras fontes de energia deixará de ter clientes quando o Diesel deixar de ser vendido.