Então, eu estava lendo essa pergunta. Devo remover o código não referenciado?
Algumas dicas foram para excluir código não referenciado, pois o código está no controle de origem para referência, caso seja necessário posteriormente.
Como você organiza esse código excluído para que uma versão posterior de você (ou outro programador) possa encontrá-lo mais tarde? Você cria um ramo separado ou o marca no controle de origem de alguma forma?
Eu nunca ressuscitei o código excluído fora do controle de origem antes, apenas o usei para rastrear alterações no código que ainda está ativo. Já referenciei ramos antes quando eles continham o trabalho experimental de outra pessoa, então talvez seja uma boa maneira de marcar seções interessantes de código que são excluídas no tronco?
fonte
Respostas:
A menos que você esteja experimentando um ramo e ainda não tenha certeza de qual solução será reintegrada, geralmente você não se refere ao código excluído.
Você pode, em raras ocasiões, procurar explicitamente por código removido que se lembra vagamente de resolver um problema que está enfrentando no momento . Porém, o motivo mais típico para você ver o código excluído é quando você está pesquisando no backlog para entender algo sobre o código ou comportamento atual de um aplicativo em relação ao código ou comportamento histórico.
Especificamente, você pode ser ...
... etc.
E nesses casos, você normalmente não está ressuscitando código antigo. Você está apenas entendendo algo que vê agora usando código removido para contexto ou orientação.
fonte
Acho que a resposta é: a grande maioria dos programadores não se importa em fazer referência a códigos excluídos. Por várias razões. Algumas razões que me vêm à mente são:
Provavelmente o mais importante, pura preguiça ...
A maioria nunca sentiu a necessidade de ressuscitar algum código; portanto, eles não têm nenhuma experiência que os motive a tornar o código mais fácil.
A maioria dos códigos excluídos é excluída por um motivo. Geralmente, ele é substituído por outro código melhor, funcionalmente equivalente ou mais poderoso. Por que alguém iria querer ressuscitar o código inferior?
Observe que isso também é uma questão psicológica novamente: a maioria dos programadores está bastante orgulhosa dos resultados de seu trabalho. Como poderia se lembrar que ainda havia algum valor no que eles substituíam?
Como a maioria dos códigos não é puramente excluída, mas substituída, as interfaces que foram alteradas na transição fornecem informações suficientes se você realmente precisar rastrear o código excluído devido a algumas regressões introduzidas pelo novo código.
Mas, independentemente de quantas razões mais ou menos válidas você possa deixar por trás desse desrespeito ao código morto, acho que é realmente apenas um "não se importa" da parte dos programadores. E mesmo se você tentar marcar itens excluídos de alguma forma ou de outra maneira, esteja preparado para ser completamente ignorado com esse esforço ...
fonte
Esta pergunta provavelmente se refere a "Como você mantém a rastreabilidade dos seus check-ins VCS no banco de dados de bugs e nos requisitos do sistema?"
Os horários em que as pessoas ressuscitam o código do controle Source tendem a ser aqueles em que você descobre que algo foi quebrado acidentalmente e precisa ser trazido de volta.
A coisa mais importante nesse cenário para quem procura um pouco específico de código removido é que ele pode rastreá-lo facilmente, pesquisando no banco de dados de requisitos e na ferramenta de rastreamento de bugs; porque é provável que eles estejam procurando pelo requisito específico ou palavras que descrevam a funcionalidade. É improvável que eles saibam o nome do arquivo de origem ou a classe / função que foi removida.
Se você deseja rastrear algum código interessante / experimental que precisa ser retirado antes do lançamento, você pode simplesmente rastreá-lo com alguns tickets de "bug" ao longo das linhas de "Remover código não utilizado para ..." . Ou talvez introduza um novo tipo de ticket no sistema para o recurso Prototype .
Portanto, para responder diretamente à pergunta - não use ramos / tags no seu sistema VCS para rastrear o código excluído - use sua ferramenta de rastreamento de alterações.
fonte
O conselho é destinado a pessoas que mantêm código obsoleto na base de código "por precaução". Como o código ainda existirá no controle de origem, você não deve ter medo de excluí-lo. Você realmente não organiza o código excluído como tal, pois o ponto principal é que ele não é mais necessário. Você acabou de adicionar uma mensagem de confirmação que indica o que foi alterado e excluído na confirmação. A mensagem de confirmação mais relevante para o código excluído é a mensagem no momento em que o código foi adicionado inicialmente, não a mensagem em que foi excluído novamente.
"Trabalho experimental" é realmente uma questão diferente. Você deve ter um ramo separado para isso.
fonte