«Может использоваться как ссылка». Я бы не стал соглашаться с тем, что есть веская причина оставить неиспользованный код. Часто только небольшая часть неиспользуемого кода демонстрирует что-то интересное. Есть несколько способов документировать и хранить полезный, но неиспользуемый код.
Хотя контроль версий будет содержать историю, которая позволит вам легко восстановить определенные функциональные возможности, если позже вы решите, что код необходим, зная, что вам нужно просмотреть историю контроля версий, чтобы найти xy или z, которые знают, какая предыдущая версия может быть немного утомительно, и часто упускается из виду, если у вас нет достаточно конкретного представления о том, что вы ищете.
Код может быть закомментирован с пометкой о том, когда он был удален и почему он не был просто удален из кода. Однако это, как правило, считается плохим стилем, и код, который не используется и не поддерживается должным образом, может привести к появлению всевозможных ошибок, если впоследствии он не будет прокомментирован, так что это обычно лучше в качестве временного шага отладки / тестирования при промежуточном рефакторинге, чем способ оставить производственный код.
Мой любимый способ хранения удаленного кода, если он окажется полезным в будущем, - это создание вторичного справочного документа, содержащего все различные фрагменты стоящего удаленного кода. Каждый блок кода помечен кратким упоминанием о том, откуда он появился или о чем-либо еще уместном запомнить, например, когда он был удален или номер редакции, в которой он был последним в коде. Все удаленное, но «потенциально полезное», находится в одном месте, легко доступно для поиска, но не требует постоянных усилий для поддержки и тестирования на постоянной основе (это тестирование откладывается до любой точки, в которой код повторно вводится).