Frage

Warum würden Sie fügen

  

// Bug 1024

Kommentare in eine Quelle gesteuert Code-Basis? Die meisten Bug-Tracking-und Source-Control-Systeme sind besser im Auge zu behalten diese Informationen ausgeruestet. In der Quellcodeverwaltung, ein Label oder einen Kommentar mit dem checkin verwendet werden. In einem Bug-Tracker kann die Versionsnummer auf die Entschließung des Fehlers hinzugefügt werden. Warum also den Code kommentieren? Especial, da diese Kommentare Relevanz ist sehr kurzlebig, und sie neigen dazu, die Code-Basis aufzubauen Littering.

War es hilfreich?

Lösung

Ich fand eines dieses hilfreichen den anderen Tag in unserer Code-Basis.

Ich sagte: „Warum ist er die Initialisierungsfunktion ein zweites Mal anrufen, so spät im Workflow ??“

Der Bug Kommentar lassen Sie mich Recht, die Ausgabe Beschreibung gehen. Wenn ich den Code neu ausgerüstet, war ich sicher, dass Fehler in meinen Tests enthalten und es nicht wieder einführen.

Obwohl ich werde sagen, dass im Allgemeinen stimme ich Ihnen zu und nicht mit denen selbst ein.

Ich hätte es vorgezogen, dass der Entwickler in Frage, den Fehler in einer sinnvollen Weise fixiert, so dass ich nicht über den Code in erster Linie fragen habe.

Andere Tipps

Letztendlich denke ich, es ist eine schlechte Praxis ist. Es ist besser, zu schließen, warum der Fehler vorhanden ist (foos vom Typ Y nicht Eigenschaft Z). Sie können einen „mehr in BugID 12345“ zusammen mit dem enthalten, wenn Sie wollen.

Wenn Sie mehrere Ebenen zu integrieren, wird ein Quellcodeansicht in trac kann direkt verlinkt auf den Bug-ID.

Reine Faulheit. Sicher, dauert es mehr Zeit auf lange Sicht, aber auf kurze Sicht „// Bug 1024“ nimmt überhaupt keine Mühe. Je mehr Code, den Sie haben, desto schlechter das ist.

Stellen Sie sich vor Sie haben einen neuen Fehler, die Sie auf die Änderung der Revision aufzuspüren 12345. Sie in den Protokollen suchen und sofort sagt Ihnen, dass Bug 1024 der Grund der Änderung war gemacht wurde.

Sie können dann bei 1024 gehen und schauen, um zu sehen, was, warum und wann, bevor Sie eine neue Update zu machen -. Die ‚man sie alle knechten‘

Wenn die Fehlernummer nicht in der Commit-Nachricht ist, müssen Sie dann für den Bug suchen, die eine feste commit - und das könnte einige (wenn der Fehler mehr als einmal berichtet wird)

.

Ich denke, dies ist ein Fall von „ich einen Hammer habe, dass ein Nagel sein muss“. Ihr Text-Editor oder IDE ist nicht Ihr einziges Werkzeug für die Verwaltung von Code.

Die Geschichte wird am besten gehalten extern an den Code. Die Bedeutung des Codes sollte in Kommentaren beschrieben werden, wenn nicht sofort ersichtlich.

Ich bin damit einverstanden, dass die Fehler-Nummern sollten in der Quellcodeverwaltung Nachrichten begehen.

Sie sollten sich nicht nur die Fehlernummer hinzufügen. Sie sollten die Fehlernummer und den Betreff und alle Qualifikations hinzufügen, wenn Sie mehrere checkins für einen einzigen Fehler gemacht:

Bug 1111 - Foo auf 64-Bit-Systeme gesprengt. Fix # 2, weil es wurde wieder geöffnet, nachdem die Zusammenführung mit dem Stamm.

Einige Systeme haben Bugnummer Integration. In mxr.mozilla.org die Fehlernummer in der cvs log Anzeige Auto-magisch in einen Link auf die bugzilla.mozilla.org Zahl gedreht. Wenn Sie im Code graben, ist dies eine große Zeitersparnis. Ich denke, dass Fogbugz eine ähnliche Funktion hat ...

Auch wenn Ihr System nicht, hilft es oft, weil niemand den gesamten Kontext der Änderung in den Kommentaren sehen will, das ist, was der Bug-Tracker ist für.

würde ich Ihnen zustimmen, dass der Kommentar wie dieser ist nicht wirklich hilfreich und ist zu kurz.

Es ist jedoch äußerst nützlich und wichtig, den Code mit Verweis auf die Aufzeichnungen in den Defekten zu kommentieren Tracking-System (oder das zu jedem KM Repository erweitern Sie haben könnten).

Manchmal wird ein Code geändert, um eine Umgehung zu einem bestimmten Problem mit dem Anwendungsverhalten zu implementieren. Manchmal ist die eingeführte Abhilfe in keiner Weise logisch. Oft kommt es vor, dass, wenn ein Code von jemand anderem das ‚schlechte‘ Stück Code als Teil Refactoring Aufwand entfernt wird aktualisiert wird.

einen Code So Markierung als Zugehörigkeit zu einer bestimmten Bug-Fix macht es während des Refactoring sichtbar, die Entwickler aufgefordert, den Fehler Beschreibung zu überprüfen, bevor Sie den Code ändern. Es hilft auch in der Situation, wo der Fehler wieder geöffnet -. Wenn Sie den gleichen Teil des Codes mehrmals geändert haben könnten Sie Zeit in einer alternativen Lösung zu investieren

P. S. Sie könnte prüfen dieses Artikel über MS Office von Joel On Software hilfreich. Soweit ich den Code von MS Office und MS Windows kennen, ist voll von ähnlichen Kommentare, die von den Entwicklern Entscheidungen erklären lange vorbei.

Ich finde es nützlich, wenn der Code zu erklären, die sonst falsch erscheinen würden, und auch für den Einsatz in Nachrichten begehen.

ich das nicht. Ich kann nicht denken Sie an einen guten Grund, warum Sie den Fehler-ID im Code setzen würde. Ich werde auf den Release Notes / Changelog setzen, dass statt.

Was ich nützlich finde ist, den Mangel Id als Teil des Namens auf die automatisierten Tests mit:

[TestFixture]
public class Release_1_2_Bugfixes
{
  [Test]
  public void TestBug42()
  {
    Assert.AreEqual(42, CalculateAnswerToLifeUniverseAndEverything());
  }
}

Ich habe andere Projekte das gleiche tun.

Ich bin überrascht, wie viele Leute zu dieser entgegengesetzt sind. Mein persönliches Gefühl dazu ist, dass diese eine sehr gut Idee. Ich stimme mit einem frühen Kommentar, dass es sollte mehr als nur die Fehlernummer umfasst, und vorzugsweise eine kurze Zusammenfassung und Link zu dem Bug-Tracking-System gegebenenfalls.

Der Vorteil für diese Kommentare ist nur offensichtlich in einem älteren Projekt mit der Geschichte und eine großen Anzahl von vorherigen Fehlerbehebung. Sie haben nicht diese Kommentare überall machen müssen, aber sie sind sehr sehr hilfreich, wenn vor einem Code-Block platziert, die keinen Sinn ohne Kontext machen könnten. In jeder Art von einigermaßen komplexen System, wird es Code-Schnipsel, die ohne Kontext unlogisch oder unnötig erscheinen.

Durch Interaktionen mit dem System oder alten Abhilfen, der Code ist notwendig. Um später zu verhindern jemand einen gepatchte Fehler wieder einzuführen, ist es sehr hilfreich, um den Fehler zu bezeichnen der Codeblock, vorzugsweise mit irgendeiner Art von Erklärung gebunden beheben soll. Sonst bist du jemand abhängig Geschichte Überprüfung des Commit sorgfältig aus einem Grunde in dem Protokoll verpflichten aufgezeichnet, was sehr unwahrscheinlich ist, vor allem, wenn jemand Refaktorierungscode ist.

Bearbeiten : Ich beziehe mich speziell diese mit einem Code-Block zu setzen, die ungewöhnlich ist oder braucht den zusätzlichen Kontext. Es ist nicht hilfreich oder notwendig, jeden einzelnen Tippfehler fix kommentieren Sie machen: -)

Ich habe das 2008 mit Anmerkung ausgeliefert, bis Visual Studio auf. Es war nützlich, wenn der Artikel wieder auf alten Code sucht sofort zu sehen, dass es zumindest hinter einer bestimmten Code Entscheidung gedacht wurde.

Ja, ich weiß, Sie tun können, die mit früheren Versionen vergleichen, aber das ist so ein Schmerz in den Hintern, wenn Sie benötigen nur eine kurze über kleinere Code-Updates ein gutes Gefühl.

Wenn Sie nicht vertraut Quellcode sind das Surfen durch, und Sie sehen etwas nicht offensichtlich, es ist schön, den Grund zu kennen. Es ist ein Urteil nennen, obwohl nicht jeder Fehler zu beheben, eine solche Erklärung braucht -. Wohl ohne es weg

Wenn es genug Grund ist, jemand zu glauben, würde die Fehlernummer wissen will, wenn an einem Teil des Codes suchen, das Hinzufügen eines Kommentars, den Fehler zu erwähnen, kann sehr schön sein (hoffentlich wird es die wichtigen Bits des Fehlers paraphrasiert als auch, jedoch).

Ja, Quellcodeverwaltung Commit-Nachrichten auch die Bug-Zahlen enthalten sollte, und durch die Revisionsprotokolle erhalten Sie die gleichen Informationen geben ... aber wenn der gleiche Teil des Codes wird mehrmals geändert, aber die Details erfuhr von der noch anfänglicher Fehler gilt, könnte es eine Weile dauern, die ursprüngliche Änderung zu finden, um überhaupt zu dem Fehler zu lernen.

Auch Situationen entstehen, wenn es ein guter Grund ist der Code von einer Klasse in einer anderen zu verschieben, oder Dateien umzuzubenennen, was es noch schwieriger machen würde, die Wurzel des Grundes für einen bestimmten Abschnitt des Codes zu finden (die Umbenennung nicht so viel von einem Problem mit SVN, aber ein Schmerz mit CVS).

Sie treffen den Nagel auf den Kopf „Relevanz ist sehr kurzlebig, und sie neigen dazu, die Code-Basis aufzubauen Littering.“

Jedes bisschen nutzlos cruft, die in Quelldateien aufbaut macht sie ein wenig weniger lesbar und schwer aufrecht zu erhalten. Löschen alles, was nicht Wert hinzufügt. „Bug 12345“ hat jetzt wenig Wert und wird keiner in ein paar Wochen haben.

Wir arbeiten in großem Maßstab System mit vielen Entwicklern und mehreren freigegeben Filialen.

tatsächlich Diese Fehler Referenz Kommentare können sehr nützlich sein, während von einem Ast zum anderen vor allem, da das SCM-System zu portieren, die wir verwenden, ist sehr verfügen über schlechte und begehen Kommentare oder schwer zu bekommen sind und könnte ziemlich alt sein.

Wenn das Update einfach war, dann kann es nicht einen Fehler Marker benötigt. Wenn es nicht offensichtlich ist, kann es sinnvoller, einen Bug zu verweisen macht dann eine lange Erklärung in einem Kommentarbereich zu schreiben.

Ich mag nicht diese Art von Graffiti. Wie andere geschmacklose Lebensformen accrete sie im Laufe der Zeit, die Code-Basis ersticken.

Das Problem wirklich beginnt, wenn die Leute Bug-Fixes machen, die einen früheren Fehler zu beheben überlappen. Sie haben dann Zahlen Bug einen Abschnitt des Codes Beschriftung, die einfach falsch sind oder irreführend sind.

Diese Art der Kommentierung IS sehr hilfreich: Was passiert, wenn Sie Bug-Tracking oder Source-Control-Tools ändern? Ein Verweis auf BZ1722 vs FB3101 würden Sie sagen, was Tracking-Tool (Bugzilla oder FogBugz zum Beispiel) zu überprüfen.

Es ist eine gute Sache!

Die Person, die der Code sucht ist unwahrscheinlich, dass die vollständige Geschichte des Codes zu schätzen und ist wahrscheinlich eine sehr wichtige Änderung rückgängig zu machen, weil sie nicht vor in diesem Bereich des Codes gearbeitet haben. Es kann Code erklären, die sonst verrückt oder eine Kundenanforderung sieht, die in äquivalenter Weise bizarr ist.

Sie können die Minute Einzelheiten der Kundenanforderungen durch Architektur und Code nicht immer erfassen, vor allem, wenn sie für etwas dumm fragen. Daher Sie mit dem Sinnlichen beginnen und dann verfeinern oder den Code in die dummen hacken, wenn Sie dazu gezwungen sind, die Fehler Zahlen wieder auf die Absicht des verrückten Code.

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