Você tem três opções básicas:
Se o aplicativo for muito pequeno e uma bagunça real , recomeçar pode ser sua melhor aposta.
Refatorar .
Viva com a bagunça e corte os recursos adicionais.
Normalmente, a opção (2) é sua melhor aposta.
A quantidade de refatoração que você efetivamente depende do recurso que você coloca versus o valor que obtém. As perguntas a serem feitas incluem:
- Que tempo / orçamento está disponível?
- Quanta modificação você antecipa no futuro?
- Quem mais verá o código? (ou seja, códigos confusos prejudicam sua reputação?)
- Espera-se que mais alguém mantenha o código?
- Quais ferramentas de refatoração estão disponíveis para ajudá-lo?
- Qual é a sua experiência de refatoração?
- Que experiência você obterá com a refatoração?
- Que tipos de refatoração oferecerão mais benefícios?
- Quais testes automatizados já existem? Precisa ser escrito?
- Quanto teste manual será necessário?
- Como você se sentirá se deixar o código como está?
Na minha experiência, é muito fácil entrar em confusão durante uma sessão de refatoração. As lições mais importantes que aprendi são:
- Faça uma coisa de cada vez.
- Dê pequenos passos.
- Faça bom uso do seu controle de origem (verifique com frequência + inclua comentários).
- Faça uso de ferramentas automatizadas de refatoração.
- Conheça o IDE.