Frage

Was sollten Sie tun, wenn ein Mitarbeiter Ihren Code bearbeitet?

Ohne den Zweck, Funktionen hinzuzufügen oder Fehler zu beheben, nur um zu ändern, wie es aussieht ...

War es hilfreich?

Lösung

Sprich mit ihnen darüber. Gehen Sie in das Gespräch mit der Haltung von "Sie tun dies nicht, um mich zu ärgern, oder weil sie irgendeine Form von Zwangsstörungen haben; sie versuchen, meinen Code besser zu machen."

Weil du dich irren könntest. Das könnte eine subtile Fehlerreparatur sein und Sie haben es einfach nicht ermittelt.

Oder es könnte sein, dass es einen Codierungsstandard gibt, den Sie nicht wissen, dass Sie verstoßen, und sie korrigieren ihn nur.

Oder es könnte sein, dass sie versuchen, Sie zu ärgern, oder sie haben eine Form von Zwangsstörungen. Wenn dies der Fall ist, bitten Sie sie gut zu stoppen, und wenn das nicht funktioniert, nehmen Sie es mit Ihrem Chef auf.

Aber Sie werden es nie wissen, wenn Sie nicht fragen.

Andere Tipps

Ich bin nicht so verheiratet damit, wie mein Code danach sucht, um mich zu stören. :) Ich versuche aus den Veränderungen zu lernen. Hat mein Kollege Variablennamen angepasst? Eine effizientere Schleife schreiben? Den Code lesbarer machen?

Wenn ich nicht sehen kann, wie sich die Änderungen verbessert haben, was bereits da war, frage ich normalerweise den Kollegen, der die Änderungen vorgenommen hat, was die Motivation dahinter war. Es ist möglich, dass der Vorteil für mich einfach nicht offensichtlich ist. Und wenn ich Recht habe und falsch ist, dann kann ich vielleicht erklären, warum ich es so geschrieben habe, wie ich es getan habe.

Wenn alles andere fehlschlägt, wechseln Sie den Check-in zurück. ;))

Bearbeiten: Alle Wetten sind ausgeschaltet, wenn der Wunsch, kosmetische Änderungen vorzunehmen, jedoch zu einem Fehler führte.

IMO Sie und Ihr Team sollten sowieso einen Codierungsstandard verwenden. Wenn dies der Fall ist, stammt die Fragen: "Hat Ihr ursprünglicher Code dem Standard entspricht?" Wenn 'Ja', sollte Ihr Kollege Ihren Code nicht berühren, es sei denn, sie ändern ihn funktional. Wenn 'nein' dann befürchte ich, dass Ihr Kollege das Recht hat, Ihren Code aufzuräumen. Als Projektleiter mache ich es die ganze Zeit.

Wenn Sie keinen Codierungsstandard verwenden, wird das gesamte Argument dessen, was „guter Code“ ausmacht, viel zu subjektiv. Deshalb sollten Sie einen Codierungsstandard verwenden :)

Als einer von diese Menschen (die Menschen, die gelegentlich den Kodex anderer Menschen neu format), ist der Hauptgrund, warum ich es tue, die Lesbarkeit. Einige Leute sind nur extrem schlampig mit ihrer Einkerbung oder mit Mischen von Registerkarten und Räumen.

Die Hauptsache, die ich zu verändern habe, ist die Verringerung der langen Linien, damit ich das Ganze ohne horizontales Scrollen lesen kann. Ich werde komplexe Aussagen in separate Aussagen oder Reformat -Methodenaufrufe/Deklarationen auflisten, um einen Parameter pro Zeile aufzulisten, wenn nicht alle bequem in eine einzelne Zeile passen. Ich werde auch Kommentare bearbeiten, entweder englische Fehler oder einfach nur um die Dinge klarer zu machen.

Ja, ich könnte es in Ruhe lassen, aber ich würde lieber die mentalen Anstrengungen reduzieren, die erforderlich sind, um den Code zu lesen.

Was solltest du dagegen tun? Bedenken Sie zunächst, dass diese Person Ihren Code vielleicht besser macht. Sie sollten auch sicherstellen, dass Sie einen Konsens in Ihrem Team darüber haben, wie Code formatiert werden sollte. Wenn jede Person unterschiedliche Gewohnheiten hat, verlangsamt dies alle. Wenn sie Ihren Code nicht besser machen und gegen das Getreide gehen, müssen Sie sie damit konfrontieren. Wenn das nicht funktioniert, müssen Sie möglicherweise andere einbeziehen.

Fragen Sie sie, warum sie es tun; Eine gültige Erklärung kann Ihre Frustration verringern, aber Sie sollten sie wissen lassen, wie sehr sie Sie stört. Wer weiß, vielleicht dachten sie, sie würden dir einen Gefallen tun und werden aufhören, wenn sie lernen, dass es dich beleidigt. Oder Sie haben es mit jemandem zu tun, der wirklich an einer Krankheit leidet.

Dürfen er/er? Verbessern die Änderungen den Code? Wenn ja, schlucken Sie Ihren Stolz. Wenn Sie der Meinung sind, dass die Codequalität verschlechtert ist, nehmen Sie sie mit dem Kollegen auf und fragen Sie sie, warum sie das Bedürfnis hatten, Ihren Code ohne offensichtlichen Nutzen zu ändern. Wenn es aus trotz oder weil die Person fälschlicherweise besser ist, dass sie besser sind als Sie, und Sie es nicht mit ihnen ausarbeiten können, nehmen Sie es mit Ihrem Chef auf.

Ideen wie Visual Studio haben eine Option namens Format Document Dies formatiert Code gemäß den Regeln, die der Benutzer in der IDE festgelegt hat. Es könnte sein, dass Ihr Mitarbeiter dies verwendet (entweder automatisch ohne zu wissen oder durch absichtliche Anwendung). Vielleicht verwendet ihre IDE Leerzeichen anstelle von Registerkarten oder umgekehrt, und diese werden automatisch angewendet, ohne zu wissen? Aber Sie müssen mit ihnen sprechen, um es herauszufinden.

Übrigens werde ich oft den Code von Mitarbeitern neu formatieren, wenn er offensichtlich kein Formatierungsschema verfolgt (dh es ist überall an der Stelle). Es ist hoffentlich subtil, sie aufmerksam zu machen. (Ich würde es jedoch nicht neu formatieren, wenn es ordentlich wäre, aber nicht nach meinem Geschmack).

Wenn er es so ändert, dass es den Codierungsstandards Ihres Teams entspricht, sollten Sie beim nächsten Mal den Standards folgen.

Wenn er es so ändert, dass es den Codierungsstandards Ihres Teams nicht mehr folgt, informieren Sie ihn, was er falsch macht, und lassen Sie ihn es zurückziehen.

... Ihr Team hat eine Reihe von Code -Formatierungsstandards, die von allen verwendet werden, oder?

Ich habe gelegentlich den Code neu anordnen, der von unordentlichen Mitarbeitern geschrieben wurde (oder Tippfehler in Kommentaren festlegt). Sie wissen, dass ich in Code -Formatierung und -bestellung besessen bin, und deshalb lassen sie mich das tun, ohne sich zu viel zu beschweren. Manchmal geben sie mir auch ein kostenloses Soda oder Keks.

Natürlich ist das gelegentlich Arbeit, wie es die "Schuld" -Funktionalität in SVN brach.

Dies ist auch eine sehr grundlegende Möglichkeit, eine Art Codeüberprüfung durchzuführen (ich habe normalerweise den größten Teil des Codes gelesen, den meine Mitarbeiter in den Modulen, an denen ich arbeite, begangen hat).

Codekonventionen ist das Antworten. Sie sollten einen bei der Arbeit haben. Wenn Sie dies nicht tun, beginnen Sie jetzt (ein guter Ausgangspunkt ist Google Style Guide). Wenn schriftliche (oder zumindest allgemein bekannt) regiert, ist die Antwort auf Ihre Frage trivial.

Ich habe das Gefühl, Sie denken, es ist beleidigend, dies zu tun ...? Zum Beispiel würde ich selbst diesen Code sofort beheben

int myFunction( ) {

    int i ;
  return  0;

}

werden

int myFunction() {
    int i;
    return 0;
}

Also ... sollte ich wegen meiner Handlung bestraft werden? Im wirklichen Leben habe ich tatsächlich Tonnen von SVN -Protokollen "Formatierung" gelesen. ;-)

Verwenden Sie ein Style Checking -Tool

Verwenden Sie Stiftung oder ähnliche und erzwingen Sie den Code -Stilregeln und machen Sie es auch für alle Entwickler zu einer Verpflichtung, sie zu verwenden. Der gesamte Code sieht ausnahmslos gleich aus. Und zusammenkommen mit Wiseheads um die am besten geeigneten Regeln für Ihre Organisation zu besprechen. Auch wenn die Standardregeln dem .NET -Framework -Code selbst sehr ähnlich sind.

Es ist der einfachste Weg, es zu tun. Ich habe den Code eines anderen bei einem meiner früheren Arbeitgeber korrigiert, weil dieser andere Code mit übermäßigen Mengen leerer Zeilen und keinerlei Einkünfte geschrieben hat. Der Code war von einem durchschnittlichen Entwickler tatsächlich unlesbar. Wenn Stylecop zurück existieren würde, würde es viele von uns wirklich glücklich machen.

Dies ist ein Gedanke, den ich im Internet gesehen habe, über das gesprochen habe Refactoring Und vielleicht erklären Sie, warum jemand Ihren Code berühren würde, um ihn besser zu machen:

Wieso den?

Es gibt zwei Hauptgründe zum Refactor:

  1. Um den Code/Design zu verbessern, bevor Sie auf dem Top aufbauen: Es ist wirklich schwierig, beim ersten Versuch einen guten Code zu finden. Der erste Versuch, ein erstes Design zu implementieren, zeigt uns, dass wir eine Logik falsch interpretiert oder vergessen haben.

  2. Sich an Änderungen der Anforderungen anzupassen. Veränderung erfolgt in der Softwareentwicklung; Auf Veränderung zu reagieren ist besser, um eine gute Codebasis zu haben. Wir haben zwei Optionen für beide Szenarien, den Code oder den Refactor ihn. Das Patching des Kodex führt uns zu einem nicht abnehmenden Code und erhöht unsere technischen Schulden.

Wann?

  1. Je früher, desto besser ist es einfacher.

  2. schneller und weniger riskant, um über einen kürzlich neu gestalteten Code umzugestalten, anstatt darauf zu warten, dass der Code fast abgeschlossen ist.

Was?

  1. Der gesamte Code und das gesamte Design sind Kandidaten für das Refactoring.

  2. Eine Ausnahme, um etwas nicht neu aufzurufen, könnte ein funktionsfähiger Code sein, der Qualität ist, aber es bevorzugt es, unsere technische Schulden zu bewahren, anstatt die Planung zu riskieren.

Sie müssen ihn nur sein Bestes geben lassen, wenn es für beide großartig wäre und Ihre Zeit in Zukunft sparen würde!

Prost

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