In meinem Unternehmen wird per E-Mail besprochen, welche Funktion implementiert ist und welche Art von Fehler behoben wurde, der von demjenigen gesendet wurde, der den Code geschrieben hat. Der Prüfer, der die E-Mail erhält, überprüft den Code und erörtert nach seiner Meinung die Qualität und die Bearbeitung des Codes. Was beinhaltet eine Standard-Codeüberprüfung?
code-reviews
Nicole
quelle
quelle
Antworten:
Nach meiner Erfahrung konzentrieren sich die meisten formalen Code-Überprüfungen auf die Überprüfung des Stils, weil es einfach ist. Selbst wenn Sie eine Checkliste der Dinge, die Sie sich ansehen müssen, zur Verfügung stellen, ist es für die Augen ziemlich einfach, eine Verglasung zu bekommen.
Ich habe festgestellt, dass Unit-Test-Überprüfung mehr Nutzen bietet. Die meisten Entwickler, mit denen ich zusammengearbeitet habe, wissen nicht, wie man einen Unit-Test richtig durchführt, und sobald sie das "Aha!" Momentan verbessert sich auch der Rest ihres Codes. Hier ist ein Hinweis: Es ist kein Komponententest, wenn der Benutzer etwas untersuchen muss, und es ist kein Komponententest, wenn Sie gerade etwas starten, um es in einem Debugger auszuführen.
quelle
Es hängt davon ab, um welches Problem es sich handelt. Oft ist es ein einfacher Stempel. "Hier ist das Problem, sieh dir diese Zeile hier an, es ist offensichtlich, was falsch läuft, und hier habe ich es behoben." "Yup, das ist ziemlich offensichtlich. Gehen Sie voran und checken Sie es ein."
Aber wenn etwas mehr involviert ist, geht es normalerweise so:
quelle
IMO, Eine Codeüberprüfung hat nichts mit Funktionen oder Fehlern zu tun, sondern konzentriert sich auf die Qualität des Codes und die dafür geschriebenen Tests.
Setzen Sie sich also neben Ihren Kollegen und lassen Sie ihn den Code erklären oder nehmen Sie den Code und gehen Sie ihn durch, wie es die Situation erfordert.
Es hilft, wenn alle gegen dieselben Standards programmieren und wenn Sie Tools wie fxCop verwenden, um einen Teil des Prozesses zu automatisieren.
quelle
Ich bevorzuge die Codeüberprüfung, bei der der Entwickler mit dem Prüfer zusammensitzt und den Code zeilenweise durchläuft, um ihn zu erklären. Oft sieht der Entwickler ein Problem bei der Ausführung der Erklärung, das der Rezensent möglicherweise noch nicht gesehen hat, weshalb dies meine Präferenz ist. Ich mache auch Code-Überprüfungen, wo mir der Code gesendet wird, und lese ihn selbst und mache Kommentare, aber ich finde, dass diese tendenziell länger dauern (ich überprüfe und entwerfe Kommentare und sende sie an Entwickler, die sie lesen und WTF machen, meine sie und E-Mails Ich melde mich zurück und erkläre, und zwei oder drei Runden später treffen wir uns und ich zeige auf dem Bildschirm, was ich meine und der Entwickler sagt: "Oh ja, jetzt verstehe ich es.") und sei weniger produktiv, da es weniger echte Diskussionen gibt und mehr: "Du hast das falsch gemacht."
Es ist auch wichtig, Standards in einer Codeüberprüfung durchzusetzen, sie jedoch nicht zum einzigen Schwerpunkt zu machen.
Der Code wird jedoch erst dann an die Produktion gesendet, wenn der Code-Prüfer zufrieden ist oder der Manager (nicht der Entwickler) ihn oder sie überstimmt hat (auch die Code-Prüfer haben sich geirrt). Dies ist kritisch oder die Codeüberprüfung ist nur ein bürokratischer Prozess ohne Mehrwert, es sei denn, der Codeüberprüfer muss den endgültigen Code genehmigen, bevor er übermittelt wird.
quelle
Zuerst müssen Sie Codierungsstandards haben, und diese sind mehr als nur Syntax. Wenn Leute in Ihrem Unternehmen anfangen, müssen sie die Richtlinien Ihres Unternehmens so gut wie möglich kennen, bevor sie mit dem Codieren beginnen . Wenn im Überprüfungsprozess alle Arten von Verstößen festgestellt werden, werden sie höchstwahrscheinlich:
Die Richtlinien sollten sinnvoll sein und es sollte geeignete Werkzeuge geben, um Verstöße zu finden und die Umgestaltung so einfach wie möglich zu gestalten. Achten Sie immer auf das Ziel der Richtlinien und die Codeüberprüfung
Die Richtlinien in meinem Kopf könnten zB bestehen aus:
In diesem Fall besteht die Codeüberprüfung darin, dass die Software anhand der Richtlinien überprüft wird und:
quelle