Ich diskutiere mit meinem Kollegen darüber, wann eine Codeüberprüfung durchgeführt werden soll - vor oder nach Unit-Tests. Was ist die beste Vorgehensweise?
Einige Faktoren, die wir möglicherweise berücksichtigen müssen (möglicherweise gibt es mehr):
- Größe der Codeänderung - Eine große Änderung bedeutet, dass sich aus der Codeüberprüfung weitere Änderungen ergeben. Wenn diese Änderungen größer sind als wenn UT vor der Codeüberprüfung war, müssen Sie die meisten Ihrer UTs erneut wiederholen.
- Zeitaufwand für die Durchführung des Unit-Tests
- Ist es eine neue Funktionalität oder eine Fehlerbehebung?
Antworten:
Sie sollten immer einen Unit-Test durchführen, bevor Sie die Codeüberprüfung durchführen. Hier ist der Grund dafür
Es gibt wahrscheinlich andere Gründe, aber diese sind diejenigen, die ich persönlich gesehen und erlebt habe, als ich Codeüberprüfungspraktiken in 3 verschiedenen Teams / Unternehmen implementiert habe.
Bearbeiten Das oben Gesagte gilt natürlich für Zeiten, in denen die Codeüberprüfung ein Schritt in Ihrem Softwareentwicklungsprozess ist (ob Wasserfall oder agil). Wenn Sie an einem besonders großen oder schwierigen Codeabschnitt arbeiten, können Sie jederzeit ein weiteres Paar Augen darauf werfen.
quelle
Codeüberprüfungen gelten für den Fall, dass der Code "fertig" ist.
In meiner Organisation umfasst unsere Definition von "erledigt" Komponententests (wie wir TDD anstreben), sodass Codeüberprüfungen vollständigen Code enthalten - und vollständiger Code Tests enthält.
Außerdem müssen Tests überprüft und umgestaltet werden, damit es sinnvoll ist, dass sie Teil der Codeüberprüfung sind.
quelle
Tests sollten als Teil des zu überprüfenden Codes betrachtet werden. Daher ist es sinnvoll, nach Abschluss der Tests zu überprüfen.
Stellen Sie sicher, dass auch die Tests überprüft werden. Dies ist wichtig für diejenigen, die noch keine Erfahrung mit Unit-Tests haben.
Stellen Sie sicher, dass Ihr Team die Abhängigkeitsinjektion, Isolations-Frameworks, Mocks gegen Stubs, Nähte, Interaktion gegen zustandsbasierte Tests und Integration gegen Unit-Tests unterschätzt.
Sie müssen die oben genannten Themen nicht implementieren, sollten sie aber verstehen.
quelle
Gut,
Dies hängt davon ab, was Sie unter "Unit Test" verstehen ...
UND
Aber persönlich ist für Codereview nach oder nach einem Unit-Test für mich kein wirkliches Kriterium ...
Warum machen wir Codereview? Für die Codequalität ... Anstelle eines "Qualitätskontroll" -Tors sollten Sie Qualität in die Umgebung Ihres Softwareentwicklungsprozesses einbringen ...
quelle
Ich würde eher sagen, seien wir "agil" ... warten Sie nicht, bis der Code fertig ist, um eine schnelle, informelle Codeüberprüfung durchzuführen: Es gibt Entwickler, mit denen und Themen, mit denen Sie tatsächlich auf das Ganze warten können Code + Testphase muss beendet sein ... aber
Wenn es um wirklich neue Themen geht (ganz neues Feature, fast recherchiert, etwas völlig Neues für das Team), Code-Überprüfung frühzeitig, keine Zeit verlieren: Lassen Sie von Zeit zu Zeit einen Mitarbeiter einen Blick darauf werfen: Isolation ist ein wichtiger Faktor des Versagens in diesem Fall.
Wenn der Entwickler ebenfalls neu im Team ist, überprüfen Sie den Code frühzeitig und möglicherweise häufig .
Übrigens müssen auch Unit-Tests überprüft werden.
quelle