Ich wollte wissen, ob die Art und Weise, wie ich mit Quelldateien umgehe, die aus der Versionskontrolle gelöscht werden müssen, als schlechte Praxis angesehen werden kann.
Ich möchte es Ihnen anhand dieses Beispiels erklären:
Vor kurzem wurde ich sehr wütend, weil ich mühsam Java-Klassen in einem Programm aussortieren musste, das im Grunde toter Code war, der jedoch nirgends dokumentiert und in diesen Java-Klassen auch nicht kommentiert wurde. Natürlich mussten sie gelöscht werden, aber bevor ich solche überflüssigen Sachen lösche, habe ich eine - manche mögen sagen seltsame - Angewohnheit:
Ich lösche solche redundanten Dateien nicht sofort über SVN-> Löschen (durch einen Löschbefehl des Versionskontrollsystems Ihrer Wahl ersetzen), sondern füge stattdessen Kommentare in die Dateien ein (ich verweise sowohl am Kopf als auch in der Fußzeile), auf die sie sich beziehen gelöscht werden + mein Name + das Datum und - was noch wichtiger ist - WARUM SIE GELÖSCHT WERDEN (in meinem Fall, weil sie tot waren, verwirrender Code). Dann speichere ich sie und übergebe sie der Versionskontrolle. Wenn ich das nächste Mal etwas im Projekt zur Versionskontrolle einchecken muss, drücke ich SVN-> Löschen und sie werden schließlich in der Versionskontrolle gelöscht - natürlich immer noch durch Überarbeitungen wiederherstellbar, und aus diesem Grund habe ich diese Gewohnheit übernommen.
Warum dies tun, anstatt sie sofort zu löschen?
Mein Grund ist, dass ich zumindest in der letzten Revision, in der diese redundanten Dateien existierten, explizite Markierungen haben möchte, weshalb sie es verdient haben, gelöscht zu werden. Wenn ich sie sofort lösche, werden sie gelöscht, aber es ist nirgendwo dokumentiert, warum sie gelöscht wurden. Ich möchte ein typisches Szenario wie dieses vermeiden:
"Hmm ... warum wurden diese Dateien gelöscht? Ich habe vorher gut gearbeitet." (Drückt "Zurück" -> Kerl, der zurückgesetzt hat, ist dann für immer weg oder in den nächsten Wochen nicht mehr verfügbar und der nächste Rechtsnachfolger muss mühsam herausfinden, worum es bei diesen Dateien geht.)
Merken Sie sich aber nicht, warum diese Dateien in den Commit-Nachrichten gelöscht wurden?
Natürlich tue ich das, aber eine Commit-Nachricht wird manchmal von Kollegen nicht gelesen. Es ist keine typische Situation, dass Sie, wenn Sie versuchen, den (in meinem Fall toten) Code zu verstehen, zuerst das Versionskontrollprotokoll mit allen zugehörigen Commit-Meldungen überprüfen. Anstatt das Protokoll zu durchsuchen, kann ein Kollege sofort erkennen, dass diese Datei unbrauchbar ist. Das spart ihm / ihr Zeit und sie / er weiß, dass diese Datei wahrscheinlich fehlerhaft wiederhergestellt wurde (oder zumindest eine Frage aufwirft).