Frage

Welche speziellen Techniken, die Sie verwenden, wenn vorhandenen Code modifizieren?

Zum Beispiel: Angenommen, Sie eine Geschäftsregel innerhalb einer Methode ändern. Haben Sie den geänderten Abschnitt mit speziellen Kommentaren markieren?

Jede Codierung / Kommentierung Standards, die Sie beim Ändern Code verwenden?

War es hilfreich?

Lösung

Sie meinen, so etwas wie:

foo();  // changed by SecretWiz, 20090131

Ich würde es nicht empfehlen. Es clutters die Code-Dateien und das Versionskontrollsystem sollte, dass für Sie. Es verfolgt die was geändert hat. Mit

svn blame

Andere Tipps

Wenn ich etwas tun, wie ein relativ obskuren Fehler behebt, im Grunde alles, wo es nicht ziemlich offensichtlich ist, warum ich den Code, um die Art und Weise schrieb mich, werde ich hinzufügen, typischerweise um einen Kommentar zu erklären, so dass ich (oder jemand wenn jemand anderes, sonst immer meinen Code geändert ;-) nicht versehentlich entfernen sie es später.

Eine Sache, ich versuche immer zu tun, ist in der Bug-ID (oder Feature-Request-ID) in Bug-Tracking-System im Code setzen Kommentare checkin ich für diese Änderung zu tun. Ich füge etwas wie „siehe die Kommentare zu diesem Bug / Feature in Bugzilla, um weitere Informationen“. Dort kann ich und in der Regel die Gründe für diese Codeänderung erklären. Dies bedeutet, dass alle Änderungen oder zumindest alle wichtigen Änderungen müssen durch eine Feature-Request / bug ID verfolgt werden. Ich habe oft einen Fehler erstellt nur die geschäftlichen Gründen beteiligt ausführlich zu erklären.

Nein, das ist eine wirklich schlechte Idee. Ihre Source-Control hält eine Historie aller Änderungen. Wenn Sie etwas anderes wollen, einen Eintrag in Ihrem Bug-Tracking-Tool. Es gibt keine Notwendigkeit, alte Codeabschnitte zu kommentieren oder Wurf mit Sachen wie:

// modified by A.B. on 11/23/99 to fix issue #123456

Ich habe Kommentare wie diese in unserer Code-Basis gesehen, und sie machen keinen Sinn Jahren auf der ganzen Linie. Wer zum Teufel ist A. B., und was war der Ausgabe # 123456? Wenn der Code immer noch hier ist, bedeutet das, dass jemand plant, diese Änderungen zurück in der Zukunft auf rollen?

Diese Kommentare haben keinen Wert und nur dazu dienen, um Ihren Code unübersichtlich.

Ich würde vorschlagen, ein Verfahren zu schaffen und dass aus dem Code aufrufen, geändert wird.
Auch die Methode nennt den Zweck / Absicht des Verfahrens vorzuschlagen.

z. GiveRebateIfValidCoupon();

"Jede Codierung / Kommentierung Standards, die Sie verwenden, wenn Code zu ändern?"

Ja. Knüpfen Sie neue Unterklassen. Lassen Sie alten Code allein außer in dem seltenen Fall, dass Sie es nicht testen, richtig und waren eigentlich falsch.

Änderungen an Anforderungen Subklassen und neue Tests bedeuten Hinzufügen der neuen Geschäftsregeln zu behandeln.

Das einzige Mal, dass ich spezielle Kommentare hinzufügen, wenn die Änderung nur vorübergehend sein soll. In dieser Situation Flagge ich es mit einem Standard-Schlüsselwort (zB TEMPFIX), so dass ich es später finden kann. Natürlich müssen Sie dann zurück zu kommen erinnern und den Code entfernen oder eine dauerhafte Änderung vornehmen, aber an einigen Projekten haben wir mit einem Makro durchgesetzt, die uns ein Ablaufdatum, nach dem angeben darf der Code nicht mehr kompilieren.

Other than that, verlassen wir uns auf die Quellcodeverwaltung.

sollte der Code zu entsprechen, was Coding-Standards Sie haben oder Ihre Organisation hat.

Also, Nein, sollte es keine besonderen Kommentare sein, dass der Code geändert wurde - alle oder zumindest die meisten, Code wird früher oder später geändert.

Wenn es Code, den Sie erbte das nicht zu kommentieren Standards entspricht, dann mit allen Mitteln Kommentare hinzufügen, wie Sie a href = „http://en.wikipedia.org/wiki/Code_refactoring“ rel = "nofollow refactor den Code. Wenn der Code wirklich alt und ohne Papiere ist natürlich bedeutet, dass Dokumentation hinzufügen.

Es ist gut, den Code zu verstehen, bevor Sie es ändern (by-the-way).

Normalerweise werde ich nur den Code ändern und meine Kommentare in meinem Source-Control-Check-in machen. In dem Task-Tracking-Tool der Wahl, können Sie die Revision verweisen, in dem die Aufgabe ausgeführt wurde.

Manchmal weiß ich, dass eine bestimmte Funktionalität geht hin und her wechseln, zu bewegen, Namen ändern, usw., je nachdem, wie die Benutzeranforderungen diskutiert werden. In diesem speziellen Fall werde ich die alte Version behält dort und es einfach auf Kommentar. Dann wird es trivial, um es nur später Kommentar-, anstatt durch die Quellcodeverwaltung schuften für die alte Version suchen. Dies kann auch jemand in den Arsch retten, wenn sie später Ihren Code pflegen müssen, denn wenn die Benutzer ihre Meinung die Forderung bereits wieder ändern in dem Code sein wird, warten unkommentiert zu sein.

Ich habe mit einer Menge anderer Leute hier auf SO vereinbaren. „Wenn Sie nicht etwas in Ihrem Code benötigen, entfernen Sie es“. Vor allem in der Produktion Code, das letzte, was Sie wollen, ist eine Menge Unordnung. Es könnte viel einfacher sein für jemanden, um herauszufinden, wie Sie Ihre Änderung als funktioniert Ihre Wartung Kommentar zu lesen und möglicherweise verwirrt.

verwendet, ich alt veraltete Code in meinen Projekten zu halten, aber ein Projekt im Laufe der Zeit, die nur ein paar tausend Zeilen über 10.000 und schwer zu verwalten endete als hätten sein sollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top