Als Entwickler sollten wir immer offen und skeptisch zugleich sein.
Offen, weil wir nicht wissen, wann ein Entwickler uns überraschen kann, und skeptisch gegenüber unseren eigenen Ideen, weil wir oft vergessen, dass es in der Software-Engineery keinen einzigen richtigen Weg gibt, eine Lösung zu implementieren. Die Gründe für unsere Lösungen könnten für uns sinnvoll sein und für andere keine. Hinter einem Codegeruch könnte eine großartige Idee stecken. Vielleicht hat der Entwickler den Weg nicht gefunden, es richtig auszudrücken.
Da wir (Menschen) in der Kommunikation schrecklich sind, machen Sie keine falschen Annahmen und fragen Sie den Code-Besitzer nach dem Code, den Sie überprüfen. Wenn er / sie es versäumt hat, die Idee unter den Standards des Unternehmens zu kodieren, ist er / sie als leitender Entwickler bereit, ihn / sie ebenfalls anzuleiten.
Hier der subjektive Ansatz. Der objektive Ansatz, IMO, wird in dieser Frage sehr gut erklärt .
Zusätzlich zu dem obigen Link sind die zu erreichenden Ziele (Wartbarkeit, Lesbarkeit, Portabilität, hohe Kohäsion, lose Kopplung usw.) nicht unbedingt die Zehn Gebote. Sie (das Team) sollten in der Lage sein, diese Ziele an einen Punkt anzupassen, an dem das Gleichgewicht zwischen Qualität und Produktivität die Arbeit für Entwickler komfortabel und "bewohnbar" macht.
Ich würde die Verwendung statischer Code-Analysetools vorschlagen, um den Fortschritt der Qualität gemäß diesen Zielen zu messen. Mit Tools wie SonarQube erhalten wir Quality Gates und Quality Profiles, die gemäß unseren Prioritäten angepasst werden können. Es stellt uns auch einen Issue-Tracker zur Verfügung, mit dem Entwickler auf Probleme im Zusammenhang mit Codegerüchen, Fehlern, zweifelhaften Praktiken usw. angesprochen werden können.
Diese Art von Werkzeugen kann ein guter Ausgangspunkt sein, aber wie gesagt, bleiben Sie skeptisch. Einige Regeln in Sonar sind möglicherweise für Sie bedeutungslos. Sie können sie ignorieren oder aus Ihrem Qualitätsprofil entfernen.