Ich arbeite derzeit als Senior-Entwickler mit drei Junior-Entwicklern unter mir und habe einen Codeüberprüfungsprozess eingeführt, um die Qualität des Codes zu verbessern, der in die Produktion geht.
Ich bin der Ansicht, dass es für uns alle sehr vorteilhaft ist, die Arbeit des anderen zu überprüfen, aber nach etwa 5 Wochen des Prozesses bin ich der einzige, der Kommentare im Tool (BitBucket) abgibt.
Ich denke, es gibt teilweise kulturelle Probleme bei der Arbeit und vielleicht eine natürliche Zurückhaltung, falls ihre Kommentare falsch sind. Aber gibt es eine Möglichkeit und ich kann den Junioren helfen, sich wohler zu fühlen, wenn sie meine und die Arbeit der anderen kritisieren?
code-reviews
junior-programmer
mentor
Graham S
quelle
quelle
Antworten:
Für mich lautet die Frage hier: "Was suchen Sie, damit Ihre Nachwuchsentwickler aus den Code-Überprüfungen herauskommen?". Für mich ist es möglicherweise das Wichtigste, dass die Nachwuchsentwickler lernen, indem sie sich den hoffentlich guten Code ansehen. Wenn sie auch Probleme in Ihrem Code finden, ist das ein Bonus.
Wenn Sie auf der Suche nach Nachwuchskräften sind, die aus den Code-Überprüfungen lernen möchten, müssen Sie vor allem ein Umfeld schaffen, in dem Lernen geschätzt und nicht als Zeitverschwendung angesehen wird. Dies bedeutet eine Reihe von Dingen:
quelle
Lassen Sie sich jede Woche zur festgelegten Zeit von Code-Review-Meetings persönlich beraten. Ich habe dies meinem Teamkollegen so verkauft (wir sind eigentlich beide leitende Entwickler, aber was auch immer):
"Die Codeüberprüfung ist teilweise für mich da, um Ihren Code ein bisschen besser kennenzulernen und zu wissen, was auf Ihrer Seite vor sich geht, falls Sie eines Tages von einem Lastwagen angefahren werden und ich den Befehl bekomme, Ihren Sprint zu beenden. Aber hauptsächlich ist es das." Damit Sie Ihren Code jemand anderem erklären können, greift er in einen anderen Teil Ihres Gehirns ein, und häufig führt Ihre Erklärung und / oder ihre Fragen oder Kommentare dazu, dass Sie sich an etwas erinnern, das Sie vergessen haben im Code zu tun, oder Sie könnten einen besseren Weg finden, ihn lesbarer zu machen, oder ihn besser zu gestalten. Das führt zu schönerem Code. "
Ich betrachte es gerne als Show-and-Tell. Die Leute dürfen ihre Arbeit ihren Kollegen vorführen. Es geht nicht darum, dass Ihre Kollegen bei Ihrer Arbeit etwas falsch finden, was niemandem gefällt. Es geht darum, Ihre Kollegen mit Ihrem großartigen Code zu beeindrucken, den jeder mag.
Ich denke jedoch, dass ich Tools zur Codeüberprüfung verwende, bei denen es keine menschliche Interaktion, keine Besprechung in einem Raum oder ein Whiteboard gibt. Es ist nicht so, dass es solche Tools nicht geben sollte, aber es sollte etwas sein, auf das Sie zurückgreifen sollten, wenn Sie während des Coderevisionsmeetings feststellen, dass eine eingehendere Überprüfung eines bestimmten Codeabschnitts erforderlich sein könnte. Dann könnten Sie einen der Junior-Entwickler damit beauftragen, den Code des anderen in einem bestimmten Bereich zu überprüfen.
quelle
Sie können mit gutem Beispiel vorangehen. Sie können nicht defensiv werden, wenn jemand auf Ihre Fehler hinweist. Führen Sie eine Codeüberprüfung für Ihren eigenen Code durch und stellen Sie Verbesserungsbereiche fest. Teilen Sie dies mit dem Team. Schließlich werden sie erfahren, dass dies ermutigt wird und niemand dafür geschlagen wird, dass er einen Fehler in seinem Code hat.
Einen Job zu haben bedeutet, Verantwortung zu übernehmen und stolz auf deine Arbeit zu sein. Wenn die Codeüberprüfung ein Teil davon ist, sollte die Teilnahme an der Codeüberprüfung in die Bewertungen einbezogen werden. Ich habe Online-Kurse besucht, in denen die Teilnahme an Online-Diskussionen Teil der Note ist. Kommentare müssen ausgearbeitet werden. "Ich stimme zu" ist nicht akzeptabel.
Die Codeüberprüfung sollte den Code verbessern. Abhängig von Ihrer Situation kann dies an Verkaufszahlen, Benutzerbeschwerden oder einer anderen Bewertung gemessen werden, wenn Sie Code für den internen Gebrauch schreiben. Die Realität ist, dass Ihr Code einem bestimmten Zweck dient und Ihr Team daran gemessen werden sollte, wie gut es diesem Zweck dient. Diejenigen, die Sie bestimmen, tragen zum Erfolg bei und können sich anteilig an den Belohnungen beteiligen.
Konzentrieren Sie sich auf die Freigabe des Qualitätscodes. Das Ziel ist nicht, dass jeder sich gut fühlt, wenn er sich vor Käfern scheut. Ich schreibe schlechten Code; Ich muss den fehlerhaften Code reparieren. Das ist Arbeit und Leben. Ich hasse es, Fehler zu beheben, also versuche ich, sie zu vermeiden. Ich bin stolz auf meine Arbeit, daher stört es mich, wenn mein Code nicht funktioniert. Ich fühle mich schlecht für die Benutzer oder andere, die sich die Zeit nehmen müssen, um auf diese Dinge hinzuweisen, und es motiviert mich, das Problem beheben zu wollen.
Als Randnotiz: Wenn Sie ein Umfeld haben, in dem niemand konstruktive Kritik aussprechen oder akzeptieren kann, haben Sie ein Problem.
quelle
Der Prozess: Jemand möchte seine Änderungen vornehmen. Jemand ist als Prüfer zugewiesen und prüft die Änderungen. Anschließend werden die überprüften und festgelegten Änderungen getestet.
Wenn das Testen in der Änderung eingeführte Fehler feststellt, sind Autor und Prüfer gleichermaßen schuld.
Wenn Sie also eine Überprüfung ohne Kommentare durchführen, geraten Sie in Schwierigkeiten, es sei denn, der Code war perfekt.
quelle