Em time que está ganhando não se mexe?
Nesse artigo eu vou te mostrar se esta frase pode se relacionar com desenvolvimento de software.
Vamos conversar sobre o que é refatoração.
O Que É Refatoração
Nestes mais de 20 anos desenvolvendo software profissionalmente, a gente escuta algumas frases frequentemente. Quase como mantras da programação…
Uma delas é: Se está funcionando, não mexe.
Se você é desenvolvedor, com certeza já ouviu essa frase.
Mas na era do desenvolvimento de software moderno, em time que está ganhando se mexe sim.
É isso que a gente faz na refatoração. Mas o que é refatoração?
Conceito De Refatoração
O conceito de refatoração é muito simples.
Melhorar o código do nosso software sem mexer em suas funcionalidades.
Melhorar o código do nosso software para deixá-lo mais legível e mais eficiente.
Este é um problema muito comum em sistemas grandes que foram desenvolvidos por equipes igualmente grandes.
Na correria do projeto muita gente acaba metendo o dedo no código e um pouco de desorganização sempre ocorre.
Desta forma a gente acaba com código repetido, classes em lugares errados e outros erros que tornam a estrutura interna do código um pouco confusa.
Para corrigir isso e impedir que o desenvolvimento de novas funcionalidades seja prejudicado pelo entendimento confuso do código é necessário realizar modificações neste mesmo código, deixando-o mais simples e organizado.
Como disse Martin Fowler: “Refatoração é o processo de alterar o código fonte de uma maneira que não altere seu comportamento externo e ainda melhore a sua estrutura interna.”
Mas, Por Que Refatorar?
A gente refatora um código para ele ficar mais simples e organizado.
Agora que você sabe o que é refatoração, vamos ver quais são os motivos para refatoramos um código?
- Melhora o projeto
- Torna o código fácil de entender
- Ajuda a achar bugs
- Ajuda a programar mais rápido
E Como Fazemos A Refatoração?
Técnicas de refatoração dariam para fazer uma série, por isso vou elencar somente algumas como remover código duplicado e remover classes desnecessárias.
Outras técnicas são:
- Extrair Método (Extract Method)
- Mover Método (Move Method)
- Mover Atributo (Move Field’)
- Extrair Classe (Extract Class)
- Encapsular Atributo (Encapsulate Field)
- Renomear Método (Rename Method)
- Subir Método (Pull Up Method)
- Subir Atributo (Pull Up Field)
- Descer Método (Push Down Method)
- Descer Atributo (Push Down Field)
- Extrair Sub-classe (Extract Subclass)
- Extrair Super-classe (Extract Superclass)
Se você quiser bater um papo mais detalhado sobre técnicas de refatoração, comenta aí embaixo para podermos voltar a esse assunto.
Palavras Finais
O que é refatoração? Viu como o conceito de refatoração é muito simples?
Tudo é muito lindo e bonito na teoria. Infelizmente na vida real nem tudo são flores…
Como a refatoração é transparente aos olhos dos usuários, muita gente não dá bola para ela.
Muita gente acha que é perda de tempo e na maioria das vezes é deixado com uma prioridade tão baixa dentro de um projeto que ele nunca é feito.
Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar
Bora aprender a programar!