Die Idee ist eigentlich sehr schön. Im Gegensatz zu herkömmlichen Workflows wird die Überprüfung direkt im Code gespeichert. Technisch gesehen benötigen Sie also nur einen Texteditor , um diesen Workflow zu verwenden. Die Unterstützung in der IDE ist auch nett, insbesondere die Möglichkeit, die Liste der Bewertungen unten anzuzeigen.
Es funktioniert gut für sehr kleine Teams, aber größere Teams müssen nachverfolgen, was wann von wem mit welchem Ergebnis überprüft wurde. Obwohl Sie über diese Art der Verfolgung verfügen (die Versionskontrolle ermöglicht es, all das zu wissen), ist die Verwendung und Suche äußerst schwierig und erfordert häufig eine manuelle oder halbmanuelle Suche durch die Revisionen.
Ich glaube nicht, dass der Prüfer genug Feedback vom Prüfer hat, um zu wissen, wie die geprüften Punkte tatsächlich angewendet wurden .
Stellen Sie sich folgende Situation vor. Alice überprüft zum ersten Mal den Code von Eric. Sie bemerkt, dass Eric, ein junger Entwickler, die Syntax verwendet hat, die in der tatsächlich verwendeten Programmiersprache nicht die aussagekräftigste ist.
Alice schlägt eine alternative Syntax vor und sendet den Code an Eric zurück. Er schreibt den Code mit dieser alternativen Syntax neu, die er für richtig hält, und entfernt den entsprechenden // BLA
Kommentar.
In der nächsten Woche erhält sie den Code für die zweite Überprüfung. Würde sie sich tatsächlich daran erinnern können, dass sie diese Bemerkung bei ihrer ersten Überprüfung gemacht hatte, um zu sehen, wie Eric sie löste?
In einem formaleren Überprüfungsprozess konnte Alice sofort feststellen, dass sie eine Bemerkung machte und den Unterschied des relevanten Codes sah, um festzustellen, dass Eric die Syntax, von der sie ihm erzählte, falsch verstanden hatte.
Menschen sind immer noch Menschen. Ich bin mir ziemlich sicher, dass einige dieser Kommentare im Produktionscode landen und andere als Müll bleiben, obwohl sie völlig veraltet sind .
Das gleiche Problem besteht natürlich auch bei anderen Kommentaren. Beispielsweise befinden sich viele TODO-Kommentare in der Produktion (einschließlich des nützlichsten: "TODO: Kommentieren Sie den folgenden Code.") und viele Kommentare, die nicht aktualisiert wurden, als der entsprechende Code vorhanden war.
Beispielsweise kann der ursprüngliche Autor des Codes oder der Rezensent den Code verlassen, und der neue Entwickler würde nicht verstehen, was in der Rezension steht, so dass der Kommentar für immer erhalten bleibt und darauf wartet, dass jemand zu mutig wäre, ihn zu vernichten oder tatsächlich zu verstehen, was er tut es sagt.
Dies ersetzt keine persönliche Überprüfung (das gleiche Problem tritt jedoch auch bei anderen formellen Überprüfungen auf, die nicht von Angesicht zu Angesicht durchgeführt werden).
Insbesondere, wenn für die ursprüngliche Überprüfung eine Erklärung erforderlich ist, beginnen der Überprüfer und der Überprüfende eine Art Diskussion . Sie werden nicht nur mit großen BLA-Kommentaren konfrontiert sein, sondern diese Diskussionen werden auch das Protokoll der Versionskontrolle verschmutzen .
Möglicherweise treten auch kleinere Probleme mit der Syntax auf (die auch für TODO-Kommentare vorhanden ist). Was ist zum Beispiel, wenn ein langer "// BLA" -Kommentar in mehreren Zeilen erscheint und jemand beschließt, ihn so zu schreiben:
// BLA This is a very long comment which is way beyond 80 characters, so it actually
// fills more then one line. Since the next lines start with slashes, but not "BLA"
// keyword, the IDE may not be able to show those lines, and display only the first one.
Und zum Schluss als kleine und sehr persönliche Anmerkung: Wählen Sie nicht "BLA" als Schlüsselwort. Es klingt hässlich. ;)