Schauen Sie sich an, wie Facebook es mit seiner eigenen App namens phabricator macht: http://phabricator.org/
Sie verpflichten sich grundsätzlich pro Ausgabe, und für jede Ausgabe wird der Code angezeigt, der von jemandem überprüft werden muss. Der Code wird erst in das Haupt-Repository aufgenommen, wenn der Prüfer erklärt hat, dass dies in Ordnung ist.
Ich denke, es macht mehr Spaß.
Vielleicht sollte ein Code auch zwei Personen zugewiesen werden: einer, der ihn ausführt, und einer, der ihn überprüft.
Obwohl Ihre Teamkollegen vielleicht nicht an dieses Review-Ding glauben.
In Ermangelung von Gutachtern habe ich Unit-Tests für untergeordnete Funktionen und "den Hausmeistertest" für den Rest verwendet: Der Hausmeistertest wird so genannt, weil selbst der Hausmeister Ihren Code verstehen sollte.
Normalerweise entfernte ich einige kleinere Teile, wie z. B. Klammern für Block- / Funktionsbereiche, Sichtbarkeitsnotationen, manchmal sogar Typen, und zeigte sie Managern, Domain-Experten und Kollegen, die den Code angefordert hatten: "Ist dies das, was Sie wollen?"
Es hilft auch, persönlich dorthin zu gehen und erst zu gehen, wenn die Überprüfung abgeschlossen ist.
Oder falls Sie mit dem Team nicht gut zurechtkommen oder es Ihnen nicht gut geht, wissen Sie: "Wenn Sie die Firma ändern können, ändern Sie die Firma" ...
Sie müssen eine Reihe von Problemen angehen - Sie müssen Herz und Verstand gewinnen und sicherstellen, dass Zeit für Codeüberprüfungen zur Verfügung steht.
Der zweite Teil ist wahrscheinlich am einfachsten - Sie stimmen zu (zusammen und das muss das Management einschließen), dass das erste, was ein Entwickler jeden Morgen tut, seine Codeüberprüfungen sind - dies ist einfach, verständlich, effektiv und gibt Ihnen einen schönen, klaren Stock, mit dem Sie Leute schlagen können wenn sie nicht entsprechen. Besser, Sie unterbrechen nichts, Sie fordern sie nicht auf, nicht mehr an ihrem Code zu arbeiten. Sie fordern die Leute nicht auf, etwas in ihre To-Do-Liste aufzunehmen ...
Der erste Teil ist das eigentliche Problem - die Teilnehmer des Überprüfungsprozesses müssen davon ausgehen, dass es einen Wert hat, sonst führen sie niemals eine Codeüberprüfung durch (die als nicht wertvoll angesehen wird), wenn sie Code schreiben oder Fehler beheben könnten (welche ist sicherlich wichtiger ...?).
Wenn Sie die beiden zusammenfügen können - erstens sicherstellen, dass jeder glaubt (oder versteht), dass die Codeüberprüfungen einen Wert haben -, sollte dies im Grunde genommen weniger Fehler bedeuten, was mehr neuen Code bedeutet, was normalerweise mehr Spaß macht - und zweitens arrangieren Dinge, so dass im Zeitplan ein freier Raum für die Codeüberprüfungen vorhanden ist, dann werden hoffentlich gute Dinge passieren ... es wird Teil der Kultur.
Sobald es Teil der Kultur ist, muss man vielleicht nicht mehr "jeden Tag als erstes" sagen - aber nachdem ich gesagt habe, dass es gut in das Muster passt, möchte man wahrscheinlich, dass ein Entwickler arbeitet.
quelle
Bei den meisten Unternehmen, für die ich gearbeitet habe, haben Sie 3 Tage Zeit, um eine Überprüfung abzuschließen. Es ist nicht akzeptabel, die Bewertungen nicht durchzuführen. Es ist Teil Ihres Jobs. Wenn Sie nicht rechtzeitig anständige Überprüfungen durchführen, wirkt sich dies auf Ihre Leistungsbeurteilung aus. Und ja, Bewertungen scheinen immer zu den ungünstigsten Zeiten zu erfolgen. Schade, lernen Sie, die Überprüfungszeit in Ihre Schätzungen einzubeziehen. Wenn das Management wirklich der Meinung ist, dass Überprüfungen wichtig sind (dh, dass der gesamte Code überprüft wird), würde es auf jeden Fall eine ähnliche Richtlinie verfolgen. Wenn Personen die Überprüfung nicht innerhalb der vorgegebenen Zeit abschließen, gilt dies auch als Akzeptanz des Materials.
quelle
Erwägen Sie die Verwendung eines Tools wie Review Board . Es ist sehr hilfreich, insbesondere für lange Bewertungen.
Sie können Ihre Diffs hochladen und warten, bis ein Prüfer seine Prüfung abgeschlossen hat. Wenn Sie offene Bewertungen haben, die Sie daran hindern, Ihre Arbeit fortzusetzen, können Sie dies während Ihrer täglichen Besprechungen melden (Ihr Team möchte, dass neue Funktionen eingecheckt werden, damit sie so schnell wie möglich getestet werden können, nicht wahr?).
quelle
Ein paar Punkte zum Hinzufügen, die nicht in den anderen Antworten enthalten sind.
Der zu überprüfende Code muss eingecheckt sein
Das Blockieren von Aufgaben hat Vorrang, daher sollten Codeüberprüfungen Vorrang vor anderen Arbeiten haben (aber versuchen, Ihren Fluss nicht zu unterbrechen). Als Entwickler sollten Sie möchten, dass andere Ihren Code überprüfen (um ihn zu verbessern). In diesem Wissen sollten Sie umgehend Überprüfungen für andere durchführen.
Die schwierigeren Fragen sind, wann und wie Codeüberprüfungen gut durchgeführt werden können.
Eine Regel, die für uns beim Zeitpunkt funktioniert hat, ist, dass gemeinsam genutzter Code überprüft werden muss, da er größere Auswirkungen hat, während er für Code für eine einzelne Anwendung (insbesondere angesichts der Verwendung einer testgetriebenen Entwicklung) weniger wichtig ist.
quelle