"Kann als Referenz verwendet werden" Ich bin nicht der Meinung, dass dies ein guter Grund ist, nicht verwendeten Code zu verwenden. Oft zeigt nur ein kleiner Teil des nicht verwendeten Codes tatsächlich etwas Interessantes. Es gibt mehrere Möglichkeiten, nützlichen, aber nicht verwendeten Code zu dokumentieren und zu speichern.
Obwohl die Versionskontrolle einen Verlauf enthält, mit dem Sie bestimmte Funktionen problemlos wiederherstellen können, wenn Sie später entscheiden, dass der Code benötigt wird, müssen Sie den Versionskontrollverlauf durchsehen, um xy oder z zu ermitteln, von wem die vorherige Revision stammen kann ein bisschen langweilig und wird oft übersehen, es sei denn, Sie haben eine ziemlich genaue Vorstellung davon, wonach Sie suchen.
Der Code konnte mit einem Hinweis darauf, wann er entfernt wurde und warum er nicht einfach aus dem Code gelöscht wurde, auskommentiert werden. Dies wird jedoch im Allgemeinen als schlechter Stil angesehen, und Code, der nicht verwendet und nicht ordnungsgemäß gewartet wird, kann alle Arten von Fehlern hervorrufen, wenn er später nicht kommentiert wird. Daher ist dies im Allgemeinen besser als vorübergehender Debug- / Testschritt während des Refactorings als eine Möglichkeit, den Produktionscode zu verlassen.
Meine Lieblingsmethode zum Speichern des gelöschten Codes besteht darin, ein sekundäres Referenzdokument zu erstellen, das alle verschiedenen Teile des lohnenswerten gelöschten Codes enthält, sofern dies in Zukunft sinnvoll erscheint. Jeder Codeblock ist mit einem kurzen Vermerk versehen, woher er stammt oder was sonst noch zu merken ist, z. B. wann er entfernt wurde oder die Revisionsnummer, unter der er zuletzt im Code war. Alles, was entfernt wurde, aber "potenziell nützlich" ist, befindet sich an einem Ort, ist leicht zu durchsuchen, erfordert jedoch keinen ständigen Aufwand für die Wartung und den fortlaufenden Test (dieser Test wird auf jeden Punkt verschoben, an dem der Code erneut eingeführt wird).