Sollte ich darauf bestehen, dass wir Code -Bewertungen durchführen, bevor wir zu Trunk zurückgeführt werden?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/9268

Frage

Angeforderte Wiederholung von Stackoverflow:

Ich arbeite in einer kleinen Entwicklungszeit mit sehr begrenzter Zeit für die Entwicklung. Wir entwickeln ein Tool, das für das Ergebnis unserer Arbeit wichtig ist, aber nicht täglich verwendet wird. Ich bin die einzige Person im Team, die als Programmierer einen Hintergrund hat.

Mein Problem ist, dass ich mich seit über einem Jahr auf Code -Bewertungen voranzutreiben habe, bevor ich mich zu Kofferraum zurückgeführt habe. Alle waren sich einig, aber es ist immer noch mein Code, der überprüft wurde. Zurück aus einem langen Urlaub komme ich zu einem Kofferraum mit Code -Kommentaren als "Dies ist eine hässliche Lösung - so schnell wie möglich entfernen" und "Schnellfix". Was auch neu ist, ist, dass ein Mann zur Verantwortung für das Tool ernannt wurde. (Eine Rolle, die mir zum ersten Mal angeboten wurde, aber ich habe mich aus einem nicht arbeitsbezogenen Grund abgelehnt.) Und er glaubt, dass dies ein guter Weg zur Arbeit ist: Da wir so begrenzt Zeit haben, sich zu entwickeln, sollten wir solche Ecken schneiden.

Ich bin besorgt, dass die anderen Entwickler hässlichen Code schreiben: Oft bricht die Kapselung, schreiben Sie riesige Klassen, fügen interne Klassen an seltsamen Orten hinzu, haben nur wenige oder keine Unit -Tests und so weiter. Es wird schließlich unmöglich sein, das Tool weiter zu entwickeln.

Sollte ich darauf bestehen, dass wir Code -Bewertungen durchführen, bevor wir mich zu Koffer zurückführen, oder bin ich nur eine Codequalitätsschlampe?

War es hilfreich?

Lösung

Ich war schon einmal in ähnlichen Situationen und IMHO Es hängt von "Muss ich den Code verwalten".

Wenn ich den Code verwalten muss, als ich qualitativ hochwertige Code möchte, benötige ich persönlich keine Code -Bewertungen für jedes Commit (IE -Programmierer können selbst entscheiden, ob bestimmte Code eine Überprüfung benötigt oder nicht), aber wenn die Lesbarkeit/Wartbarkeit leidet als Es könnte in Ordnung sein.

Beim Lesen dies:

Ich bin besorgt, dass die anderen Entwickler hässlichen Code schreiben: Oft bricht die Kapselung, schreiben Sie riesige Klassen, fügen interne Klassen an seltsamen Orten hinzu, haben nur wenige oder keine Unit -Tests und so weiter. Es wird schließlich unmöglich sein, das Tool weiter zu entwickeln.

Ich denke, Ihr Problem ist größer als nur Code -Bewertungen. Sie scheinen ein paar Richtlinien zu fehlen und/oder sie werden nicht implementiert. No/wenige Unit -Tests könnten eine schlechte Idee sein, hängt jedoch vom spezifischen Fall ab. Jedoch, breaking encapsulation, writing huge classes, ... Machen Sie wirklich fehleranfällige Code, damit auf jeden Fall behoben werden sollte.

Andere Tipps

Ich denke Jeder eincheck ist eine Verschwendung von Zeit. Es ist eine gute Idee bei der Einrichtung eines Teams und mit jungen Programmierern, aber erfahrene Programmierer können für sich selbst denken, und schließlich müssen Sie ihnen vertrauen. Das heißt - Sie können die periodischen Code -Bewertungen auf frisches Ding durchführen, aber wenn Sie jede einzelne Codezeile, die Ihre VCs eingibt, ist es wirklich übertreiben.

Und kleine Kommentare zu den Korrekturen Ihres Kollegen - manchmal eine hässliche Lösung machen ist die richtige Lösung. Es kann sein, dass dieser bestimmte Code nicht wichtig genug ist, um viel Zeit in in die Investition zu investieren. Es kann sein, dass die einfache Lösung gut genug ist und es besser ist, Zeit in andere Dinge zu investieren. Ihr Code "hübsch" zu machen ist nicht Ihr Hauptziel als Programmierer. Ihr Hauptziel ist es zu liefern Und besessen von jeder Codezeile wird Sie einfach nicht dorthin bringen.

Ich versuche zu sagen ist - Sie müssen Ihre Schlachten auswählen. Es ist in Ordnung, den Kampf um eine unbedeutende Versorgungsklasse zu verlieren, um den Lieferkrieg zu gewinnen (oder diesen wirklich wichtigen Subsystemkrieg).

Wenn das fragliche Programm kein einmaliger Wegwerfprototyp ist, sollten Code-Bewertungen für jeden Check-in obligatorisch sein.

Seniorentwickler könnten ein Privileg für nicht überprüfte Check-Ins haben, sobald sie gewissenhaft genug sind, um gegebenenfalls eine Überprüfung anzufordern.

Ich bin mir nicht sicher, ob die Code -Überprüfung die Antwort ist, bis jemand beginnt, bessere Codierungsstandards durchzusetzen. Jemand schreibt beschissener Code, kommentiert/gibt ihn zu und prüft ihn trotzdem ein. Was nützt eine Bewertung, wenn jemand den Code ablehnen möchte, aber Sie wird Sie in den Zeitplan versetzt?

Sie müssen: Standards festlegen, die großen Schuldigen genauer beaufsichtigen und in den Kopf schlagen, dass ein guter Code nicht immer mehr Zeit in Anspruch nimmt. Sie müssen aufhören, Zeitpläne als Ausrede zu verwenden, um sich zu weigern, schlechte Gewohnheiten zu ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top