Eu queria saber se a maneira como lido com os arquivos de origem que precisam ser excluídos do controle de versão pode ser considerada uma má prática.
Quero explicar para você com base nesse exemplo:
Recentemente, fiquei muito zangado porque tive que classificar tediosamente as classes Java em um programa que era basicamente código morto, mas ele não foi documentado em nenhum lugar e também não foi comentado nessas classes Java. É claro que eles precisavam ser excluídos, mas antes que eu exclua essas coisas redundantes, tenho um hábito - alguns podem dizer estranho -:
Eu não excluo esses arquivos redundantes imediatamente via SVN-> Delete (substitua pelo comando delete do seu sistema de controle de versão de sua escolha), mas em vez disso, coloco comentários nesses arquivos (refiro-me à cabeça e ao rodapé) que eles irão ser excluído + meu nome + a data e também - o mais importante - POR QUE SÃO EXCLUÍDOS (no meu caso, porque estavam mortos, código confuso). Em seguida, eu os salvo e os comprometo com o controle de versão. Da próxima vez que eu tiver que confirmar / fazer o check-in de algo no projeto para o controle de versão, pressione SVN-> Delete e eles serão excluídos no Controle de Versão - ainda é claro que podem ser restaurados por meio de revisões, e é por isso que adotei esse hábito.
Por que fazer isso em vez de excluí-los imediatamente?
Minha razão é que eu quero ter marcadores explícitos pelo menos na última revisão em que esses arquivos redundantes existiam, por que eles mereciam ser excluídos. Se eu excluí-los imediatamente, eles serão excluídos, mas não há nenhum documento sobre por que foram excluídos. Eu quero evitar um cenário típico como este:
"Hmm ... por que esses arquivos foram excluídos? Eu trabalhei bem antes." (Pressiona 'reverter' -> o sujeito que reverteu desapareceu para sempre ou não está disponível nas próximas semanas e o próximo responsável deve descobrir tediosamente como eu sobre o que são esses arquivos)
Mas você não percebe por que esses arquivos foram excluídos nas mensagens de confirmação?
Claro que sim, mas às vezes uma mensagem de confirmação não é lida pelos colegas. Não é uma situação típica que, quando você tenta entender o código (no meu caso, morto), verifique primeiro o log de controle de versão com todas as mensagens de confirmação associadas. Em vez de rastrear o log, um colega pode ver imediatamente que esse arquivo é inútil. Isso economiza seu tempo e ela sabe que esse arquivo provavelmente foi restaurado com defeito (ou pelo menos levanta uma questão).