Ich habe viele Jahre lang Entwicklungsteams geleitet und geleitet. Von Natur aus bin ich ein bisschen OCD in Bezug auf Code und sehr schwarz-weiß. Ich habe durch Erfahrung gelernt, dass es eine der schwierigsten Fähigkeiten ist, als Teamleiter zu lernen, Ihre Kämpfe zu gewinnen. Ja, Standards sind wichtig. Ja, Lesbarkeit und Wartbarkeit sind unglaublich wichtig. Ja, wir sollten uns alle bemühen, einheitlichen, standardkonformen Code zu schreiben. Entwickler sind Menschen, aber keine Werkzeuge zur Codegenerierung. Wir haben Persönlichkeiten, Meinungen, wir langweilen uns und wir wollen neue Dinge lernen.
Bei Codeüberprüfungen bei der Arbeit habe ich Code und Muster gesehen, die ich für "clever" halte, die aber nicht unbedingt die Gesamtqualität oder Wartbarkeit der Codebasis verbessern.
OK ... sie fügen also nichts hinzu, aber lenken sie ab? Sprechen wir nur über persönliche Vorlieben in Bezug auf Codierungsstile oder ist das Schreiben von Code völlig unnötig (z. B. Verwenden von Ausdrucksbäumen und Reflektion, nur weil es Spaß macht, Ausdrucksbäume und Reflektion zu verwenden)? Wenn es das erstere ist, lass es los. Ein Teil des Spaßes, ein Entwickler zu sein, besteht darin, kreative Lösungen für Probleme zu finden. Vielleicht (und die meisten von uns geben dies nicht gerne zu) fühlen wir uns manchmal von Ansätzen eingeschüchtert, die wir nicht verstehen, und wollen entweder nicht fragen oder haben nicht die zusätzliche Energie, um den neuen Ansatz zu erlernen.
Wenn Kreativität zu unnötigem Code und völlig ungerechtfertigter Komplexität führt, sollten Sie auf jeden Fall lautstark sein und Ihre Argumente vertreten. Teamplayer zu sein ist wichtig, aber auch andere zur Rechenschaft zu ziehen. Bei Code-Überprüfungen geht es sowohl um Verantwortlichkeit als auch um Qualitätssicherung und Lernen. Sie werden auf einige Zehenspitzen treten, aber wenn Sie das Gefühl haben, ein starkes Argument dafür zu haben, warum Mühe (Geld) für das Umschreiben des Arbeitscodes aufgewendet werden sollte UND dabei ein Ego verletzt werden sollte UND Sie das Risiko eingehen möchten, die Begeisterung eines Menschen für sein Handwerk zu unterdrücken , dann sollten Sie nicht davor zurückschrecken, es auf den Tisch zu legen. Wenn Sie der Teamleiter sind, ist dies Ihre Aufgabe. Seien Sie sich der Auswirkungen bewusst und tun Sie es. Wenn Sie kein Teamleiter sind und keine Autorität haben, überlassen Sie dies dem Team, um zu entscheiden.
Der beste Weg, Ihrem Team Rechenschaft abzulegen, besteht darin, andere zu ermutigen, Sie zur Rechenschaft zu ziehen. Wenn Sie aufgeschlossen sind und die Mitarbeiter nicht ausschalten, wenn sie Verbesserungen für Ihren Code vorschlagen, sind sie möglicherweise empfänglicher für Ihre Vorschläge.