In meinem Unternehmen bittet mein Vorgesetzter meine Vorgesetzten, vor Abgabe eines Projekts die von mir oder anderen Teammitgliedern verfassten Programme zu überprüfen, oder manchmal sitzt auch unser Vorgesetzter zur Überprüfung bei uns.
Ich denke, es ist ein guter Weg, um Wissen zu erlangen, aber manchmal, wenn Programme gut funktionieren, funktionieren sie nach der Überprüfung nicht mehr gleich, und ich muss mein Programm erneut untersuchen.
Sie sagen, dass die Überprüfung zur Optimierung der Programm- und Abfrageausführung beiträgt, aber können wir die Optimierung der tatsächlichen Funktionsweise des Programms vorziehen?
Antworten:
"Gut funktionieren" ist in der Tat eine großartige Messgröße, aber wenn Sie der einzige im Team sind, der in der Lage ist, zu entschlüsseln, was Sie geschrieben haben, und es auf diese Weise beizubehalten, ist der Code mittel- oder langfristig für das Unternehmen nahezu wertlos.
Ein guter Code ist mindestens:
(Einige dieser Anforderungen überschneiden sich tatsächlich, sollten jedoch einzeln betrachtet werden ...)
Codeüberprüfungen dienen dem Zweck, der über den "funktionierenden" Teil hinausgeht, der durch automatische Tests durchgeführt werden kann.
Ich persönlich weiß, dass es ärgerlich ist, wenn etwas funktioniert und von Grund auf neu aufgebaut werden muss. Dies ist jedoch häufig auf eine falsche Kommunikation zwischen dem leitenden Angestellten und dem technischen Leiter zurückzuführen. Wenn Sie also der Meinung sind, dass Sie das nächste Mal zu oft umschreiben müssen, gehen Sie zum Prüfer, bevor Sie eine einzelne Zeile schreiben, und versuchen Sie, so viele Informationen wie möglich zu erhalten, die genau wie möglich auf das zutreffen, was er erwartet. Es könnte auch großartig sein, wenn das Team der Code-Reviewer ihre Erwartungen in einem formellen Dokument zusammenfasst, auf das sich jeder Entwickler beziehen kann.
Positiver ist, dass eine Sitzung auch eine Gelegenheit sein kann, großartige Praktiken / Entwürfe auszutauschen.
quelle
Ich habe Ihre Frage folgendermaßen interpretiert: "Kann mein Funktionscode in einer Überprüfung bis zu einem Punkt abgeschlachtet werden, an dem er nicht mehr kompiliert werden kann?" .
Ja, kann es. Im Allgemeinen sehen Sie während einer Überprüfung, wie Ihr Code funktioniert, was er tut. Wenn Sie Ihren Code einreichen möchten, sagen Sie, dass Sie einen bestimmten Teil des Programms beendet haben.
Sie sagen, dass es funktioniert. Anschließend werden Tests durchgeführt, um dies zu überprüfen. Ein Modul, das Tests besteht, bedeutet nicht, dass das Modul nicht erneut berührt werden sollte.
Ein funktionstüchtig erscheinendes Modul kann immer noch eine Katastrophe sein, die entweder zur Laufzeit oder in einigen Monaten, in denen Sie oder eine andere Person Wartungsarbeiten daran durchführen müssen, abwartet. Indem Sie Ihren Code in einer Überprüfung ändern und darauf hinweisen, was daran falsch war, versucht Ihr Prüfer (hoffentlich), Ihnen tatsächlich etwas beizubringen.
quelle
Peer Reviews sind zweifelsohne eine großartige Lernmethode. Jemand kann etwas anderes sehen, er hat andere Erfahrungen als Sie und sollte in der Lage sein, Verbesserungen beizutragen. Dies sollte nicht abfällig sein. Ich würde erwarten, dass jeder Entwickler in der Lage ist, jeden Code zu kommentieren und konstruktiv zu kritisieren!
Es hört sich für mich so an, als ob einige dieser "Verbesserungen" tatsächlich wichtige Änderungen bewirken, da der überprüfende Entwickler (wie zu erwarten) weniger Erfahrung mit der Software hat als der Autor.
Bei diesem Trend handelt es sich um Selbstfeedback. Vielleicht ist es schwierig, Ihrem Code zu folgen oder ihn zu pflegen. Sind Ihre Bewertungen wertvoll? Absolut! Ich kann sehen, wie frustrierend es sein kann, Arbeitscode zu haben, den Ihre Kollegen dann zu brechen scheinen. Sie sollten nicht entmutigt sein - Sie sollten daran arbeiten, Ihren Code vor diesen Änderungen zu schützen.
Die Frage lautet dann, wie Sie die Funktionalität Ihrer Programme schützen können, damit Sie wissen, dass die Funktionalität auch nach Abschluss Ihrer Überprüfungen noch funktioniert. Mein Vorschlag wäre, sicherzustellen, dass Sie eine angemessene Abdeckung durch Komponententests haben. Auf diese Weise können Sie / Ihr Prüfer / Ihr Nachfolger bei jeder Änderung des Codes sicher sein, dass die vorgenommenen Änderungen sicher sind.
ETA: Ich habe gerade einen Ihrer Kommentare entdeckt, ich bin mir sicher, dass dies selbstverständlich ist, aber Codeüberprüfungen sollten durchgeführt werden, bevor das Testteam sie in die Hände bekommt. Andernfalls testen sie das Endprodukt nicht.
quelle