Lassen Sie mich zuerst einen Begriff prägen:
Code-Zielsetzung: Code am Morgen auschecken und dann alle Änderungen, die die anderen Entwickler am Vortag vorgenommen haben, Datei für Datei (insbesondere die von Ihnen ursprünglich entwickelten Codedateien) und das Korrigieren von Formatierung, Logik, Umbenennen von Variablen und Umgestalten im Hintergrund überprüfen lange Methoden usw., und dann die Änderungen an das VCS übergeben.
Diese Praxis hat in der Regel ein paar Vor- und Nachteile, die ich identifiziert habe:
- Pro : Codequalität / Lesbarkeit / Konsistenz wird oft beibehalten
- Pro : Einige Fehler wurden behoben, weil der andere Entwickler mit dem Originalcode nicht vertraut ist.
- Con : Ist oft eine Zeitverschwendung des zielstrebigen Entwicklers.
- Con : Führt gelegentlich Fehler ein, die bei Entwicklern, die dachten, sie hätten am Vortag fehlerfreien Code geschrieben, für Furore sorgen.
- Con : Andere Entwickler werden durch übermäßiges Nitpicking verärgert und beginnen, Beiträge zum Code des Ziel-Tenders abzulehnen.
Haftungsausschluss: Um fair zu sein, ich bin eigentlich kein Entwicklungsmanager, sondern der Entwickler, der tatsächlich die "Zielverfolgung" durchführt.
Zu meiner Verteidigung denke ich , dass ich dies aus gutem Grund tue (um unsere extrem große Codebasis als gut geölte Maschine zu erhalten), aber ich bin sehr besorgt, dass dies auch eine negative Atmosphäre schafft. Ich bin auch auf jeden Fall besorgt, dass mein Manager das Problem angehen muss.
Wenn Sie der Manager wären, wie würden Sie dieses Problem angehen?
UPDATE: Ich meine nicht, dass dies zu lokalisiert ist, aber einige haben gefragt, also wird vielleicht ein Hintergrund beleuchtet. Vor drei Jahren wurde mir ein Riesenprojekt (200K LoC) zugewiesen, und erst vor kurzem (vor einem Jahr) wurden dem Projekt zusätzliche Entwickler hinzugefügt, von denen einige mit der Architektur nicht vertraut sind, andere die Sprache noch lernen (C #). Im Allgemeinen muss ich für die allgemeine Stabilität des Produkts aufkommen, und ich bin besonders nervös, wenn überraschenderweise Änderungen an den zentralen Architekturteilen der Codebasis vorgenommen werden. Diese Angewohnheit kam zustande, weil ich anfangs optimistisch gegenüber den Beiträgen anderer Entwickler war, aber sie machten zu viele Fehler, die schwerwiegende Probleme verursachten, die erst Wochen später entdeckt wurden, als der Finger auf mich gerichtet wurde, um instabilen Code zu schreiben. Oft diese "