Kann die Codeüberprüfung bei Unit-Tests übersprungen werden?
Aber wieso?
Die Hauptaufgabe von Peer Review besteht nicht darin, Fehler zu erkennen.
Ja, Sie können möglicherweise einige potenzielle Fehler und zweifelhaften, fehleranfälligen Code identifizieren. Dies passiert häufig, aber das gelegentliche Erkennen von Fehlern bedeutet nicht, dass Peer Review eine zuverlässige Methode ist , um das Vorhandensein von Fehlern auszuschließen . Weit davon entfernt. Es ist nicht das richtige Werkzeug, um die Funktionsrichtigkeit der Implementierung zu überprüfen .
Die Codeüberprüfung erzwingt jedoch die Wartung des Codes . Ich werde verlangen, dass der Code sauber und verständlich ist (nicht nur für den Autor), bevor er in Produktion geht.
Das Vorhandensein von Komponententests ist völlig orthogonal dazu. Sie können eine 100% ige Codeabdeckung erzielen und alle Tests für völlig unverständlichen Code bestehen.
Die Codeüberprüfung dient auch dazu, andere Entwickler mit Ihrer Arbeit vertraut zu machen, damit sie wissen, was was ist, und in der Lage sind, von dort aus Fehlerberichte zu bearbeiten, während Sie in den Ferien sind usw. Zu wissen, was Sie sofort getan haben, kann ihnen helfen Machen Sie ihre Arbeit gut - halten Sie die Codebasis konsistent (halten Sie sich an ähnliche Muster und Konventionen in der gesamten App) oder vermeiden Sie Code-Duplikationen.
Im weiteren Sinne lernt und wächst man als Entwickler auch, indem man den Code anderer Leute liest.
Unit Tests können kaum einen Ersatz dafür sein. Ja, wenn sie gut geschrieben sind, lesen sie sich wie Dokumentation, und wir sollten uns darum bemühen. Dies schließt sich bei der Durchführung von Peer-Reviews jedoch nicht gegenseitig aus, ganz im Gegenteil - alle Vorteile von Peer-Reviews bleiben erhalten, und die Tatsache, dass Ihre Peers einige schöne Komponententests haben, macht den Überprüfungsprozess einfacher und noch vorteilhafter eher als überflüssig.