"Pode ser usado como referência" Eu não tenderia a concordar em ser um bom motivo para deixar um código não utilizado. Muitas vezes, apenas uma pequena parte do código não utilizado está realmente demonstrando algo interessante. Existem várias maneiras de documentar e armazenar códigos úteis, mas não utilizados.
Embora o controle de versão contenha um histórico que lhe permitirá facilmente restaurar uma funcionalidade particular se você decidir posteriormente que o código é necessário, sabendo que você precisa procurar no histórico de controle de versão para encontrar xy ou z de quem sabe A revisão pode ser um pouco entediante, e muitas vezes é esquecida, a menos que você tenha uma ideia bastante específica do que está procurando.
O código pode ser comentado com uma observação sobre quando foi removido e porque não foi simplesmente excluído do código. No entanto, isso geralmente é considerado um estilo ruim, e o código que não é usado e não é mantido corretamente pode introduzir todos os tipos de bugs se ele não for mais comentado posteriormente, então isso é melhor como uma etapa temporária de depuração / teste enquanto refatorando uma maneira de deixar o código de produção.
Minha maneira favorita de armazenar o código excluído, se ele parecer útil no futuro, é fazer um documento de referência secundário contendo todos os vários fragmentos de código deletado que vale a pena. Cada bloco de código é rotulado com uma breve menção de onde ele veio ou qualquer outra coisa pertinente a lembrar, como quando foi removido ou o último número de revisão no código em. Tudo removido, mas "potencialmente útil" está em um lugar, facilmente pesquisável, mas não requer esforço constante para manter e testar em uma base contínua (que o teste é deferido para qualquer ponto que o código seja reintroduzido).