„Może być użyty jako odniesienie” Nie zgodziłbym się z dobrym powodem do pozostawienia nieużywanego kodu. Często tylko niewielka część nieużywanego kodu faktycznie pokazuje coś interesującego. Istnieje wiele sposobów dokumentowania i przechowywania przydatnego, ale nieużywanego kodu.
Chociaż kontrola wersji będzie zawierała historię, która z łatwością pozwoli przywrócić określoną funkcjonalność, jeśli później zdecydujesz, że kod jest potrzebny, wiedząc, że musisz zajrzeć do historii kontroli wersji, aby znaleźć xy lub z, kto wie, która poprzednia wersja może być trochę nudne i często pomijane, chyba że masz dość konkretne pojęcie, czego szukasz.
Kod można skomentować z notatką o tym, kiedy został usunięty i dlaczego nie został po prostu usunięty z kodu. Jest to jednak ogólnie uważane za zły styl, a kod, który nie jest używany i nie jest odpowiednio utrzymywany, może wprowadzać różnego rodzaju błędy, jeśli później nie zostanie skomentowany, więc jest to ogólnie lepsze jako tymczasowy etap debugowania / testowania podczas pośredniego refaktoryzacji niż sposób na opuszczenie kodu produkcyjnego.
Moim ulubionym sposobem przechowywania usuniętego kodu, jeśli wydaje się on przydatny w przyszłości, jest utworzenie dodatkowego dokumentu referencyjnego zawierającego wszystkie różne fragmenty wartościowego usuniętego kodu. Każdy blok kodu jest opatrzony krótką wzmianką o tym, skąd pochodzi lub o czymkolwiek innym, co należy zapamiętać, na przykład kiedy został usunięty lub numer wersji, w której był ostatni w kodzie. Wszystko, co zostało usunięte, ale „potencjalnie przydatne” jest w jednym miejscu, łatwe do przeszukiwania, ale nie wymaga ciągłego wysiłku w celu utrzymania i testowania na bieżąco (testowanie jest odraczane do momentu ponownego wprowadzenia kodu).