10 Stimmen

Warum unterstützen IDEs keine dynamische Formatierung?

Warum erlauben IDEs in Anbetracht all der heiligen Kriege um verschiedene Codeformatierungsstile und der strengen Formatierungsanforderungen vieler Unternehmen keine dynamische Neuformatierung von Code?
Damit meine ich, dass die IDE den Code jedes Mal so formatieren soll, wie der Benutzer es wünscht, und den Code ohne jegliche Formatierung speichern soll. (Nun, vielleicht Zeilenumbrüche, so dass Unterschiede immer noch einfach sind)
Der Benutzer müsste sich keine Gedanken über die Einhaltung eines Codierungsstandards machen, die Leute würden sich nicht darüber aufregen, dass sie in einem Code arbeiten, der nicht so formatiert ist, wie sie es mögen, und Formatierungsänderungen würden nicht in den Repository Diffs auftauchen.
Es muss einen Mechanismus geben, mit dem man es ausschalten kann, damit es nicht alten, vorformatierten Code durcheinanderbringt, aber was hält es sonst davon ab, eine Standardfunktion zu werden?

Edit: Ich weiß, dass einige IDEs eine Formatierungsfunktion haben, aber das verursacht fast so viele Probleme, wie es löst - Versionskontrolldifferenzen werden fast nutzlos, da die tatsächlichen Änderungen in einem Meer von unbedeutenden Formatierungsänderungen verloren gehen, und unterschiedliche Tabulatorzeichenbreiten bringen die Dinge immer noch aus dem Gleichgewicht. Außerdem ermöglicht es den Programmierern nicht, mit dem Code in ihrem bevorzugten Format zu arbeiten.

0voto

lprsd Punkte 80189

Ich bin sicher, dass es Programme und Skripte gibt, die den Code in der von Ihnen gewünschten Weise formatieren.

Zwar unterstützen einige IDEs eine solche Neuformatierung des Codes (Eclipse, Intellij für Java, Wing für Python, VS2007? für .net), doch selbst wenn dies nicht der Fall ist, sollte es ausreichen, diese Skripte auf dem Quellcode auszuführen.

0voto

aleemb Punkte 29695

Wenn Sie das folgende Szenario bewältigen können, würde ich es für eine gute Idee halten, aber meine Vermutung ist, dass es nicht trivial ist, was bedeutet, dass es nicht intuitiv und vorhersehbar ist, was schlecht für die Benutzererfahrung ist.

Wenn der Code geschrieben ist:

if(value!=null)

und dynamische Formatierung zeigt:

if (value != null)

und ich ändere es in:

if ((value != null) && (value.Length > 0))

und ein anderer Entwickler formatiert es dann dynamisch zu:

if ( (value != null) && (value.Length > 0) )

und ändert eine andere Zeile des Codes und speichert sie. Wird die obige Formatierung auch gespeichert? Wie bringen Sie die unterschiedlichen Formatierungsvorlieben der beiden Entwickler unter einen Hut, denn seine neuen Ergänzungen werden in einem anderen Format gespeichert.

Man müsste in einem gemeinsamen Format speichern, aber selbst dann wären die Zeilenlängen unterschiedlich, und die Entwickler würden die Zeile an verschiedenen Positionen für 80- oder 100-Zeichen-Umbrüche umbrechen, was ziemlich unübersichtlich wäre.

0voto

aleemb Punkte 29695

Ein Plagiat wäre schwer zu erkennen :)

-1voto

fortran Punkte 70744

Denn den meisten Leuten ist es egal, wie der Code aussieht, solange er konsistent ist.

-1voto

Gary Kephart Punkte 4698

Ich denke, es ist an der Zeit, dass die IDEs anfangen, ihren Code als XML zu speichern und dann ein benutzerdefiniertes XSL-Stylesheet verwenden, um den Code bei der Präsentation zu formatieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X