Entwickler-Ecke

Programmierwerkzeuge - Quelltext Formatierer


g1o2k4 - Fr 19.12.08 23:19
Titel: Quelltext Formatierer
hi.

im visual studio gibt es ja nen shortcut mit dem man seinen quelltext formatieren kann. gibt es sowas zufällig auch im rad studio 2009 ?
im rad studio 2007 habe ich bis jetzt immer delforex (delphi formatter) benutzt.
aber für das rad studio 2009 hab ich das nicht gefunden. hat jemand ein anderes tool ? was die aufgabe erledigt ? vielleicht auch als ide integration ?


alzaimar - Sa 20.12.08 00:07

Ich hab mir DelForExp installiert. Aber mich dünkt, das der Jedi Code Formatter genauso gut sein könnte. Ist halt ne Glaubensfrasge.

Aber wenn Du mich fragst, glaube ich :mrgreen: das es Delphi gut stände, ein Feature dieser Art einfach mal in die IDE zu integrieren. Nach dem Motto: Ihr könnt es benutzen, müsst aber nicht. Das wird sich Aufgrund eh durchsetzen.

Ach, eine Bitte: Bitte keine Flamewars, wie man denn nun Delphi-Code formattiert. Ist sowieso zweitranging.


dummzeuch - So 21.12.08 13:27
Titel: Re: Quelltext Formatierer
user profile icong1o2k4 hat folgendes geschrieben Zum zitierten Posting springen:
hi.

im visual studio gibt es ja nen shortcut mit dem man seinen quelltext formatieren kann. gibt es sowas zufällig auch im rad studio 2009 ?
im rad studio 2007 habe ich bis jetzt immer delforex (delphi formatter) benutzt.
aber für das rad studio 2009 hab ich das nicht gefunden. hat jemand ein anderes tool ? was die aufgabe erledigt ? vielleicht auch als ide integration ?


http://www.dummzeuch.de/delphi/gexperts/english.html

Leider gibt's noch keine fertige Version fuer Delphi 2009, d.h. selbst compilieren anhand der auf der Seite verlinkten SVN-Sourcen ist angesagt. Ich arbeite aber daran.

twm


jaenicke - So 21.12.08 14:23

user profile iconalzaimar hat folgendes geschrieben Zum zitierten Posting springen:
Aber wenn Du mich fragst, glaube ich :mrgreen: das es Delphi gut stände, ein Feature dieser Art einfach mal in die IDE zu integrieren. Nach dem Motto: Ihr könnt es benutzen, müsst aber nicht. Das wird sich Aufgrund eh durchsetzen.
Und noch besser wäre es, wenn alle gleich beim Schreiben des Quelltextes ihn automatisch selbst formatieren würden. :mrgreen:
So etwas direkt zu integrieren würde das noch mehr fördern, das manche einfach ohne nachzudenken Quelltext hinklatschen, den dann formatieren lassen und sich wundern, dass der nicht das macht was beabsichtigt war.

Für meine eigenen Quelltexte brauche ich sowas nicht, denn wenn ich beim Schreiben alles durcheinander schreiben würde, würde ich mir ja selbst ins Bein schießen. Übersichtlichkeit ist das A und O.

Nur bei fremden Quelltexten wäre es manchmal hilfreich. Aber meistens ist das ohnehin kein Quelltext, den ich irgendwie benutzen möchte. Denn schlecht formatierter Quelltext ist so gut wie immer auch unsauber geschrieben, er zeugt von nicht ausreichenden Kenntnissen des Autors. ;-)

Für mich ist Jedi Code Format am besten, weil es nicht in die IDE integriert ist und dadurch den Start nicht unnötig verlangsamt. Wenn ich es wirklich mal brauche kann ich das unabhängig von Delphi starten.
Zudem wird Delphi 2009 bereits gut unterstützt.


g1o2k4 - So 21.12.08 14:23
Titel: Re: Quelltext Formatierer
@dummzeuch: ich hab zeit. schick mir ne pn wenns fertig ist.


alzaimar - So 21.12.08 14:46

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Und noch besser wäre es, wenn alle gleich beim Schreiben des Quelltextes ihn automatisch selbst formatieren würden. :mrgreen:
Das dauert zu lange. Nachdem ich das so jahrelang exerziert habe, kann ich mir mittlerweile was Besseres vorstellen, als meinen Code per Hand zu formattieren.

Übersichtlichkeit ist übrigens eine Frage des Inhaltes, und nicht, ob die ':' alle hübsch untereinander sind. Einheitliches Codeformat erleichtert nur das Lesen von Code. Schlecht geschriebener Code lässt sich dadurch nicht besser machen.


jaenicke - So 21.12.08 14:54

user profile iconalzaimar hat folgendes geschrieben Zum zitierten Posting springen:
Das dauert zu lange.
Da merke ich keinen Unterschied, jedenfalls nicht mit neuen Delphi Versionen + CnWizards. :nixweiss:

user profile iconalzaimar hat folgendes geschrieben Zum zitierten Posting springen:
Schlecht geschriebener Code lässt sich dadurch nicht besser machen.
Das habe ich auch nicht behauptet, aber man erkennt meistens daran wie gut ein Code formatiert ist, wie der Kenntnisstand und die Qualität des Codes vermutlich sind. Vorausgesetzt derjenige hat den Code nicht automatisch formatieren lassen.


alzaimar - So 21.12.08 14:59

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Da merke ich keinen Unterschied, jedenfalls nicht mit neuen Delphi Versionen + CnWizards. :nixweiss:
Du kannst keinen Unterschied bemerken, da Du keinen Codeformattierer verwendest. :lol: Und selbstverständlich benötigt das manuelle Formatieren mehr Zeit, auch wenn es durch Helferlein verkürzt wird. Denn *Alles* ist langsamer als ein Hotkey oder in VS das Tippen des abschließenden '}'. Ich will dich hier aber nicht zu deinem Glück zwingen. Tippe und formatiere halt so, wie Du es für richtig hälst.


dummzeuch - So 21.12.08 15:12

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconalzaimar hat folgendes geschrieben Zum zitierten Posting springen:
Aber wenn Du mich fragst, glaube ich :mrgreen: das es Delphi gut stände, ein Feature dieser Art einfach mal in die IDE zu integrieren. Nach dem Motto: Ihr könnt es benutzen, müsst aber nicht. Das wird sich Aufgrund eh durchsetzen.

Und noch besser wäre es, wenn alle gleich beim Schreiben des Quelltextes ihn automatisch selbst formatieren würden.

Aber warum sollte man das tun? Man sollte sich auf die wichtigen Dinge konzentrieren und den Rest einem Tool ueberlassen. Insbesondere wird ein Code-Formatter solche Fehler aufdecken:


Delphi-Quelltext
1:
2:
3:
if laberschwafel then
  MachWas;
  MachNochwas;


Bei manueller Formatierung geht einem sowas leicht mal durch die Lappen und selbst beim Code-Review uebersieht man es wegen der falschen Formatierung gerne.

Ein Formatter wird daraus automatisch folgendes machen:


Delphi-Quelltext
1:
2:
3:
if laberschwafel then
  MachWas;
MachNochwas;


Und schon sieht man, dass man Begin/End vergessen hatte.

Oder dann diese unsaeglichen if/then/else Zeilen, die man insbesondere im VCL-Source findet:


Delphi-Quelltext
1:
if laberschwafel then MachWas else MachWasAnderes;                    


Debugge sowas mal und Du wirst feststellen, dass man diesen Code nur als eine einzelne Zeile abarbeiten kann (Ok, genaugenommen ist das eine Schwaeche des Delphi-Debuggers.). Soll ich jetzt anfangen, und den Code eines Kollegen manuell nachformatieren, nur damit ich ihn debuggen kann? Einmal Ctrl-Atl+# gedrueckt, und schon ist das Problem Vergangenheit:


Delphi-Quelltext
1:
2:
3:
4:
if laberschwafel then 
  MachWas 
else 
  MachWasAnderes;


(Zum Glueck bin ich derjenige, der festlegt, wie der Source formatiert werden soll, so dass es da keine grossen Diskussionen drueber gibt. :-) )

twm


g1o2k4 - So 21.12.08 16:55

größtenteils formatiere ich ja beim schreiben. aber als perfektionist braucht man bei viel code einfach nen formatierer. es schleichen sich immer patzer ein, die man auch leicht beim lesen übersieht.


Oreaden - So 21.12.08 19:26

So zu Weihnachten mal durch das Forum geister...

ich halte NIX von automatischer Formatierung oder einen integrierten CF, da er sowieso keine Vernünftige Formatierung zustandebringt. Aber wer so etwas unbedingt mag, für den gibt es ja den großen Krieger (JCF)und die OpenToolsAPI um sich so etwas selbst zu Weihnachten zu schenken.

Wünsche noch eine schöne Bescherung und viel Spass bei der Integration des JCF in die IDE

Euere OREADEN


alzaimar - So 21.12.08 20:46

user profile iconOreaden hat folgendes geschrieben Zum zitierten Posting springen:
ich halte NIX von automatischer Formatierung oder einen integrierten CF, da er sowieso keine Vernünftige Formatierung zustandebringt.
Na, das hast Du aber viel herumprobiert... Wer natürlich mehr Zeit damit verbringt, seinen Code nicht standardgemäß zu formatieren, weil das doch angeblich besser lesbar ist, der braucht so eine Funktion natürlich nicht. Durchschnittsentwickler, die im Team arbeiten, wären heilfroh, wenigstens irgendeine konsistente Formatierung auf Knopfdruck zu erzeugen. Meist hat man nämlich irgend einen ignoranten Exoten im Team, der es auf Deibel komm raus nicht gebacken bekommt, seinen Code zu formatieren. Mit einem CF wär das nicht passiert. Übrigens ist mir aufgefallen, das der Abstand zwischen automatischer und individueller Formattierung umgekehrt proportional zum Programmierkönnen und der -erfahrung ist.

user profile iconOreaden hat folgendes geschrieben Zum zitierten Posting springen:
Aber wer so etwas unbedingt mag, für den gibt es ja den großen Krieger (JCF)und die OpenToolsAPI um sich so etwas selbst zu Weihnachten zu schenken.
Wozu? mit integriertem DelForExp gehts doch?


dummzeuch - Fr 26.12.08 14:47
Titel: Re: Quelltext Formatierer
user profile icong1o2k4 hat folgendes geschrieben Zum zitierten Posting springen:
@dummzeuch: ich hab zeit. schick mir ne pn wenns fertig ist.


Ich hab' fertig. ;-)

Siehe http://www.dummzeuch.de

twm


g1o2k4 - Fr 26.12.08 16:04

super arbeit. danke!