Sempre que descubro que grande parte do meu código precisa ser alterada, seja porque está incorreta ou porque precisa ser adaptada às principais mudanças arquiteturais necessárias por outros motivos, é o que normalmente faço:
- Comento todo o código que suspeito que possa ter que ser alterado. Trato o código comentado como uma espécie da minha lista de tarefas.
- Eu gradualmente reviso o código comentado e descomente as partes deste código, copio e colo-as em outro local e as edito conforme necessário, ou reescrevo partes desse código do zero, observando o código comentado para referência. Sempre que penso que termino com uma parte do código comentado, eu o removo.
- Continuo assim até que não consiga ver mais nenhum código comentado.
Devo observar que estou fazendo isso amplamente no projeto pessoal que estou desenvolvendo sozinho.
No entanto, me disseram que eu deveria parar de fazer isso. Foi-me dito que, em vez disso, eu deveria começar a usar o git, referindo-se aos antigos commit para ver o código antigo, em vez de deixar o código comentado. Me disseram:
Comentar código é um mau hábito que deve ser eliminado. Você não tem experiência e não entende isso. Se, em alguns anos, você vir o código de outra pessoa que gosta de comentar o código, começará a xingar essa pessoa. Sempre que vejo um código comentado, removo-o por completo, sem sequer olhar para ele, porque geralmente esse código é completamente inútil. Você certamente deixará de ver as desvantagens de comentar o código em pequenos projetos de uma pessoa; mas se você encontrar um emprego e manter esse hábito, será uma pena.
Posso perguntar quais são essas desvantagens do que estou fazendo que não estou conseguindo ver agora?
Devo dizer que não estou realmente interessado apenas em usar o git para ver o código do passado. Como eu disse, trato comentar o código como uma espécie de lista de tarefas; embora o git me mostre como o código costumava estar, ele falhará em me mostrar claramente quais partes do código ainda precisam ser revisadas e quais já foram concluídas. Temo que possa perder alguma parte do código e introduzir bugs.
Para completar, acho que devo acrescentar que a pessoa que estou citando é uma desenvolvedora experiente e fã do "Código Limpo" do tio Bob - e o tio Bob criticou o comentário severo do código em seu livro.