Während der Entwicklung in einer Gruppenatmosphäre und Hinzufügen oder Ändern von Funktionen in einer Codebasis. Wird es als anstößig oder unhöflich empfunden, den Code früherer Entwickler neu zu formatieren, um ihn auf den aktuellen Kodierungsstandard zu bringen? Ich verstehe, dass sich die Standards geändert haben und sich wahrscheinlich auch weiterhin ändern werden, aber würde sich jemand von Ihnen darüber ärgern, wenn jemand Ihre Code-Formatierung ändern würde?
Um es klar auszudrücken, ich spreche nicht davon, irgendeine Logik zu ändern, nur mit Tabulatoren und Leerzeichen herumzuspielen und so weiter.
BEARBEITEN: Ich mache das nicht nur, um Codierungsstandards zu verwenden, sondern um deren Code zu lesen und auf den neuesten Stand zu bringen, damit ich die implementierte Logik vollständig verstehen kann, bevor ich anfange, kritische Anwendungen zu ändern.
quelle
git add
, um Teile selektiv festzulegen, aber ich schätze, dass die meisten Leute das Äquivalent vonsvn commit
oder verwendengit commit -a
)Antworten:
Ich denke, das ist in Ordnung, solange die Standards vereinbart sind. Ein Hinweis zur Vorsicht jedoch; Beachten Sie, ob das Potenzial besteht, dass die Datei gleichzeitig von anderen geändert wird. Wenn Sie die Zusammenführung erschweren, nur weil Sie die Formatierung geändert haben, werden Sie nicht sehr beliebt sein.
quelle
Ja, der Code sollte zum Projekt gehören. Wenn Sie den Code auf den neuesten Stand bringen, können Sie das technische Defizit des Projekts verringern. Wenn Sie es ändern, sind Sie derzeit dafür verantwortlich. Bei älterem Code ist der ursprüngliche Entwickler möglicherweise nicht mehr am Projekt beteiligt oder hat neue Aufgaben.
Wenn Sie diese Art von Änderung vornehmen, sollten Sie die Überprüfungstests nach der Neuformatierung ausführen. Wenn sie erfolgreich sind, checken Sie den Code ein, bevor Sie Ihre Funktionsänderungen vornehmen.
EDIT: Im Zusammenhang mit dieser Frage ist eine Neuformatierung auf Standard angemessen. In Ermangelung von Standards würde ich empfehlen, sich für Standards einzusetzen und nicht neu zu formatieren, bis es Standards für das Format gibt. Eine Neuformatierung nach persönlichem Geschmack / Standard sollte nicht mit Code erfolgen, der zum Projekt gehört.
quelle
Ich glaube, es ist immer eine gute Praxis, den Code umzugestalten, wenn Sie eine bestimmte Datei ändern / hinzufügen. Dazu gehört das Aktualisieren des Codestils, um die richtigen Namenskonventionen für Variablen / Methoden und Codierungsstile widerzuspiegeln.
quelle
Ich mache das die ganze Zeit. Alter Code sollte den gleichen Standards wie neuer Code entsprechen, und wenn Sie ihn nicht reparieren, während Sie daran arbeiten, wird dies niemand tun. Ich denke, das gilt nach der Pfadfinder-Regel.
quelle
Ich denke, dies ist eine gute Praxis und ein notwendiger Bestandteil der Codewartung.
Ich würde empfehlen, die Formatierungsänderungen in einem Commit für das Versionskontrollsystem und die funktionalen Änderungen in einem separaten Commit zu überprüfen, damit Sie und andere verstehen, was stattgefunden hat.
quelle
Ich hätte kein Problem damit und würde es wahrscheinlich zu schätzen wissen ... solange die Veränderungen nicht "religiös" sind. Bitte gehen Sie nicht alle meine Klassen durch und verschieben Sie die geschweiften Klammern in die erste Zeile der Methode. Wenn es sich bei der Formatierung um eine legitime Sache vom Typ "Unterschiedliche Striche für unterschiedliche Personen" handelt, ist es etwas ärgerlich, wenn jemand den Code, den Sie am häufigsten bearbeiten, formatiert. Wenn Sie jedoch der Haupteditor dieses bestimmten Moduls werden, nehmen Sie die Formatierungsänderungen vor, die Sie für angebracht halten.
quelle
Ja. Bitte "reparieren" Sie den Code, wie Sie es für richtig halten. Genau wie die Pragmatischen Programmierer in ihrem Buch The Pragmatic Programmer sagen , keine zerbrochenen Fenster. Wenn der Code nicht den Anforderungen entspricht, halte ich ihn für ein zerbrochenes Fenster.
quelle
Es gibt verschiedene Repositorys, die beim Einchecken automatisch eine Neuformatierung durchführen, sowie kleine Dinge wie das Ändern der CR / LF-Paarung, je nachdem, auf welcher Plattform die Quelle abgerufen wird.
Es ist ein großer Nachteil, eigene Re-Formatierungen vorzunehmen, da Ihre Check-in-Deltas durch Tonnen von Re-Formatierungen verschleiert werden und es schwieriger wird, die fehlerhaften Codeblöcke zu finden, wenn es ein Regressionsproblem gibt.
Sie könnten Ihrem Lead vorschlagen, dass die Codebasis, da sie alt ist, aus der Kälte importiert und auf die aktuellen Standards umformatiert werden sollte, was überall zu einer glänzenden neuen Zukunft für Code führt.
quelle
Da es sich um ein rein "Formatierungs" -Problem handelt (das heißt, wir beheben keine Fehler, sondern lassen es nach Ihrem eigenen Standard aussehen), hängt es meiner Meinung nach davon ab, ob die ursprüngliche Person den Code noch verwaltet oder nicht.
Wenn der Urheber noch an dem Projekt arbeitet, ist es unhöflich. Was für Sie "richtig" aussieht, ist für sie nicht das, was "richtig" aussieht, und das Ändern des Codes zum Zwecke der Formatierung ist nicht höflich. Es kann auch viel Zeit verschwenden.
Ich habe einmal mit einem SEHR besitzergreifenden Entwickler an einem Projekt gearbeitet. Im Laufe der Jahre habe ich eine sehr methodische Methode zur Formatierung meines Codes entwickelt, die meiner Meinung nach einfach zu lesen, weniger anfällig für implizite Fehler und selbstdokumentierend ist. Dagegen bevorzugte dieser Typ die Verwendung aller impliziten Funktionen mit langen Zeilen, die 300 Zeichen breit waren, sodass ein 30-Zoll-Monitor zum Lesen erforderlich war, da er der Ansicht war, dass die Zeilenzahl wichtiger war als die Lesbarkeit. Er verbrachte einen halben Tag Ich habe meinen Code durchgeblasen, indem ich ihn auf seinen "bevorzugten Standard" geändert habe ... während ich mich noch parallel weiterentwickelte! Am nächsten Morgen stellte ich fest, dass zwei Tage Arbeit für sein Durcheinander formatiert waren. Es war unhöflich und Zeitverschwendung.
Nun, wenn der Entwickler weg ist und Sie einen "besseren Stil" haben, dann machen Sie es.
quelle
Formatieren Sie den Code immer automatisch , wenn Ihre IDE dies kann.
Beispielsweise können Sie in Eclipse zuerst den Formatierer ausführen und Importe für die gesamte Codebasis organisieren. Denken Sie dann daran, vor dem Speichern die Tastenkombination Strg + Alt + F zu drücken.
quelle