Ich vermute, dass in meinem Team größere Codeüberprüfungen vertuscht wurden. Zu viele Code-Reviews werden ohne Kommentar zusammengeführt.
Mir scheint, es gibt keine Codeüberprüfung ohne einen einzigen Kommentar.
Wie kann ich als Teamleiter richtig überwachen, ob mein Team einen ordnungsgemäßen Codeüberprüfungsprozess durchführt, und wie kann ich ihnen helfen, die Vorteile des Prozesses zu maximieren?
Aktualisieren
Dachten die Leute möchten vielleicht etwas über Updates wissen. Ich habe viele Vorschläge ausprobiert, die hier gemacht wurden. Die meisten waren bereits in Gebrauch. einige haben ein bisschen geholfen. Das Problem blieb jedoch bestehen - einige Leute bekamen ständig schlechten Code, wenn ich nicht suchte.
Ich fand, dass die Überwachung der Codeüberprüfung nicht so hilfreich ist wie die Bereitstellung von Tools für mein Team, um den Code zunächst zu verbessern.
Also habe ich eine Bibliothek mit dem Namen "jscpd" hinzugefügt, um Kopierpasten zu erkennen. Die Erstellung von Kopierpasten ist fehlgeschlagen. Damit war ein Problem sofort behoben.
als nächstes werden wir versuchen, codeclimate.
Ich mache auch eine manuelle Überprüfung der alten Code-Überprüfungen einmal pro Sprint für einen halben Tag. Ich wandle todo
s in Ausgaben / Tickets um - wie ich herausgefunden habe, schreiben Leute sie, aber sie werden zu einem späteren Zeitpunkt nie mehr bearbeitet. Ich treffe mich auch mit den gesamten Teams, um den Code zu überprüfen, wenn es angebracht ist.
Im Allgemeinen fühlt es sich so an, als ob wir uns in die richtige Richtung bewegen.
quelle
Antworten:
Ich werde eine andere Einstellung als meine Mitantwortenden anbieten. Sie haben Recht - seien Sie dabei, wenn Sie sehen möchten, wie die Dinge laufen. Wenn Sie mehr Rückverfolgbarkeit wünschen, gibt es Tools dafür.
Aber meiner Erfahrung nach vermute ich, dass noch etwas los ist.
Haben Sie gedacht, dass Ihr Team das Gefühl hat, dass der Prozess für die meisten Commits unterbrochen / dumm / ineffektiv ist? Denken Sie daran, dass der Prozess dokumentiert, was gut funktioniert, und nicht, dass Regeln befolgt werden müssen . Und als Teamleiter helfen Sie ihnen, die besten Ergebnisse zu erzielen und keine Regeln durchzusetzen.
In Ihren Rückblicke (wenn agil) oder Einzelgesprächen (wenn Sie ein Manager sind) oder in zufälligen spontanen Besprechungen (wenn Sie ein nicht agiler Teamleiter sind und ein anderer Manager Einzelgespräche führt) sollten Sie dies ansprechen . Fragen Sie, was die Leute über den Codeüberprüfungsprozess denken. Wie funktioniert es Wie ist es nicht Sagen Sie, Sie denken, es nützt dem Team vielleicht nicht so viel, wie es könnte. Stellen Sie sicher, dass Sie zuhören .
Sie können sich in diesen Meetings für Code-Überprüfungen einsetzen, aber es ist besser, sich das Feedback anzuhören. Höchstwahrscheinlich werden Sie feststellen, dass entweder Ihr Team der Meinung ist, dass der "richtige" Prozess angepasst werden muss, oder dass es eine Grundursache gibt (Zeitdruck, Mangel an Überprüfern, Bob schreibt einfach seinen Code fest, warum können wir das nicht?) .
Wenn Sie ein Werkzeug auf einen unterbrochenen Prozess zwingen, wird der Prozess nicht besser.
quelle
Ich poste keine einzeiligen Antworten, aber diese scheint angemessen zu sein:
Beteiligen Sie sich am Prozess.
quelle
Holen Sie sich ein Tool wie ReviewBoard oder das Codereview- Plugin von Redmine . Dann wird jede Überprüfung als Aufgabe erstellt, die von jemandem geschlossen oder kommentiert werden muss (genau wie ein Fehlerticket). Anschließend können Sie nachvollziehen, wer das Überprüfungsticket erstellt und wer es geschlossen hat. Sie können Review-Tickets mit Source-Code-Checkins verknüpfen, dh das Ticket aus einer Revision erstellen.
quelle
Ein paar Dinge (um ehrlich zu sein, die meisten davon werden in den Antworten behandelt, aber ich wollte sie an einem einzigen Ort platzieren)
Sie können Prozesse und Regeln festlegen, um sicherzustellen, dass eine Codeüberprüfung durchgeführt wird, aber es ist ziemlich unmöglich, sie einzufügen, sodass die Codeüberprüfung eigentlich mehr ist als nur ein Kästchen. Letztendlich muss das Team den Nutzen des Prozesses erkennen, wenn es sinnvoll damit umgehen will
Mit gutem Beispiel vorangehen. Nimm an Reviews teil. Als Entwickler fühle ich mich schlecht, wenn mein Manager (jetzt kein Entwickler) Dinge entdeckt, die ich nicht finde. Markieren Sie Probleme, die (ohne Vorwürfe) in der Überprüfung hätten berücksichtigt werden sollen. Wenn ein Produktionsproblem auftritt oder Probleme während der Qualitätssicherung auftreten (wenn Sie einen separaten Qualitätssicherungsprozess haben), markieren Sie, wo sie möglicherweise in der Codeüberprüfung aufgefangen wurden. Besprechen Sie mit dem Team, wie wir sicherstellen können, dass solche zukünftigen Probleme aufgefangen werden
Besprechen Sie mit dem Team, was der Prozess tun soll. Wenn sie keinen Grund dafür sehen (wie am Anfang), verwenden Sie die Produktionsprobleme und erforderlichen Korrekturen als Beweis für den Nutzen
Verwenden Sie eine automatische Code-Überprüfungssoftware wie Sonarqube, damit sich Code-Überprüfungen auf Probleme wie unverständlichen Code, logische Fehler, fehlende Dokumentation usw. konzentrieren können, die nicht automatisch erkannt werden können.
quelle
Sie können dokumentieren, was das Team in Codeüberprüfungen wünscht, die Sie mit Entwicklern besprochen und vereinbart haben. Einige Dinge, die Sie als Teil der Codeüberprüfung in Betracht ziehen könnten, sind:
Überprüfen Sie, ob der Code das tut, was er tun soll, dh die Anforderungen erfüllt
Codestil, um sicherzustellen, dass Entwickler einen konsistenten Stil verwenden
Optimierung zB Anzahl der Funktionsaufrufe
Architektur und Wiederverwendbarkeit
Ausnahmebehandlung und Protokollierung
Technische Schulden: Befindet sich der Code in einem besseren Zustand als zu dem Zeitpunkt, als der Entwickler damit begann, daran zu arbeiten?
Schauen Sie sich den Code an und erstellen Sie ihn. (Ich finde das nützlich, aber andere Entwickler in meinem Team überlassen das lieber den Testern.)
Verwenden eines automatisierten Tools (ich habe SonarQube verwendet ). Ich finde es nützlich, dies in Ihren Erstellungsprozess zu integrieren, um Verbesserungen am Code durchzusetzen, z. B. die Testabdeckung zu erhöhen
Einige der oben genannten Schritte können von einem automatisierten Tool ausgeführt werden, aber während Sie versuchen, die Codeüberprüfung zu verbessern, lohnt es sich wahrscheinlich, sowohl das Tool als auch die Augapfelüberprüfung zu verwenden. Die wichtigsten Schritte zur Vermeidung von technischen Schulden (Architektur und Wiederverwendbarkeit) können jedoch nicht vollständig automatisiert werden.
Wenn Ihr Team dies nicht konsequent anwendet, können Sie versuchen, nur den Entwicklern, die die Codeüberprüfung ordnungsgemäß durchführen, Zusammenführungsrechte zu gewähren. Zum Beispiel möchten Sie vielleicht nur mit dem leitenden Entwickler des Teams beginnen. Der Nachteil dieses Ansatzes besteht darin, dass diese Entwickler zu einem Engpass im Entwicklungsprozess werden können. Daher müssen Sie und das Team entscheiden, ob Sie dies möchten. Persönlich würde ich diesen Kompromiss akzeptieren und durch die Codeüberprüfungen die Disziplin im gesamten Team erhöhen. Wenn Sie dazu bereit sind, können Sie die Anzahl der Entwickler mit Zusammenführungsrechten erhöhen.
Schließlich lohnt es sich, die Bewertungen zu überprüfen. Treffen Sie sich also einmal pro Woche mit den Entwicklern und diskutieren Sie konstruktiv die Reviews und Verbesserungsmöglichkeiten.
quelle
Ich werde Ihnen erzählen, wie mein Team die Codeüberprüfung schnell in seinen Workflow integriert hat.
Lassen Sie mich zunächst eine Frage stellen. Verwenden Sie ein Versionskontrollsystem (zB Mercurial, Git)?
Wenn Sie mit Ja geantwortet haben, fahren Sie fort.
Jetzt haben Sie einen genauen Punkt in Ihrem Workflow, an dem die Codeüberprüfung durchgeführt wird.
Handle dort.
* kann mit serverseitigen Hooks automatisch erzwungen werden
** Dieses Verfahren wird (unter anderem) von GitHub voll unterstützt und ist recht einfach zu verwenden. Probieren Sie es aus
quelle
Ich denke, Sie sollten eine Vorlage erstellen und Ihre Teammitglieder bitten, diese bei jeder Codeüberprüfung zu aktualisieren. Aber auch dann sollten Sie zunächst am Überprüfungsprozess teilnehmen.
quelle