PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formatierer für Quellcode [Java]


Laz-Y
2008-05-05, 23:10:21
Ich programmiere derzeit in einem Projekt (Java), das eine für mich sehr seltsame Formatierung verwendet :D

Gibt es Tools, die einen Quelltext nach vorgegeben Regeln formatieren? Der integrierte Formatierer in Eclipse ist mir bekannt. Allerdings erreiche ich damit nicht die gewünschte Ausgabe.
Gibt es weitere empfehlenswerte Formatierer?

mapel110
2008-05-05, 23:14:21
format c: zum Beispiel. Zwar etwas in die Tage gekommen, aber es tuts.

Wenn du syntax-highlighting und solche Späße meinst, dann gibts da jede Menge. Aber ich wüsste jetzt nicht, was an Eclipse für Java auszusetzen ist. Viel anders sind die anderen Tools dafür auch nicht.

Von Phase5 weiß ich aber, dass man diesen auch modifizerien kann, was er wie highlightet. Sonst fällt mir gerade keins ein.

ethrandil
2008-05-05, 23:27:53
Der Eclipse Formatierer kann eine Menge, vielleicht kennst du nur seine Einstellungsmöglichkeiten nicht?
Die finden sich unter Window->Preferences->Java->Code Style->Formatter

Und dann am besten ein neues Profil mit New... anlegen.

mfg
- eth

Laz-Y
2008-05-06, 21:12:19
@ethrandil
Die Anpassungsmöglichkeiten sind mir bekannt. Leider bekomme ich damit nicht das gewünscht Ergebnis. Insbesondere was die Formatierung von Kommentaren angeht fehlt Eclipse meiner Meinung nach Einstellungsmöglichkeiten. Zumindest was die hiesigen Konventionen angeht.

@mapel110
Super Tipp mit dem format c:, man merkt dass Du nicht viel Java oder C# (etc.) programmierst :D. Syntaxhighlighting hat damit rein gar nix zu tun. Ein Formater formatiert Quellcode automatisch. Dann wird zb. ausfoo(){
}
plötzlichfoo()
{
} ... und noch viel mehr. Eben was die Code Conventions so alles verlangen.

Monger
2008-05-06, 21:48:54
@mapel110
Super Tipp mit dem format c:, man merkt dass Du nicht viel Java oder C# (etc.) programmierst :D.

Und bei dir merkt man, dass du Ironie nichtmal erkennst wenn sie dir ins Gesicht springt! ;)

Was GENAU hast du denn für Anforderungen?


Ich persönlich finde ja Formatter sowieso albern. Ich lass ja auch keinen Formatter über Shakespeare drüber laufen - der wird sich bei seiner Zeilenformatierung schon was gedacht haben! ;)

Xanatos
2008-05-06, 22:51:38
Es geht ja nicht nur darum, seinen eigenen Code zu formatieren, sondern auch fremden. Wenn ich da so machen Open-Source Code angucke, was der fuer Formatierung hat, da muss man einfach was dagegen machen;)

RMC
2008-05-07, 00:01:58
Es geht ja nicht nur darum, seinen eigenen Code zu formatieren, sondern auch fremden. Wenn ich da so machen Open-Source Code angucke, was der fuer Formatierung hat, da muss man einfach was dagegen machen;)

Tja, bei Open Source darf man sonst nicht viele Ansprüche haben ;D Weder in der Formatierung, noch in der Code-Qualität... :D

zum Thema: eigentlich kann jede vernünftige IDE den Code nach Belieben formatieren. Ich nutze Borland JBuilder, dort kann man eigene Code-Styles definieren und mit einem Klick ist die ganze Datei formatiert. Sowas gehört allerdings schon zum Standard für gscheite IDEs...

Hucke
2008-05-07, 08:51:48
Ich lass alles von meiner Netbeans umformatieren. Für meine Zwecke reichts. Aber ich glaub nicht, dass Netbeans mehr kann als z.B. Eclipse. Zumindest ein Kollege findet Eclipse toller (zumindest mit irgendwelchen AddOns zum Code formatieren).

Shink
2008-05-07, 09:06:49
Formatter sind schon OK: Wer seine Code Conventions nicht so definieren kann, dass ein Programm es versteht, macht etwas falsch.

Ich verstehe aber nicht dass das nicht besser gemacht wird von den IDEs: Jeder kann seine eigenen Formatierungsrichtlinien einstellen, mit dem der Code bei ihm angezeigt wird. Abgespeichert wird er hingegen in einer Standard-Formatierrichtlinie. (Individuelle Formatierung also nur im View, nicht im Model)
Daran gäbs doch nichts auszusetzen, oder?

ethrandil
2008-05-07, 09:30:20
.... und eben darum wäre es interessant zu wissen, was Laz-Y unbedingt braucht - sonst stochern wir doch alle im Sumpf.

Gast
2008-05-07, 11:47:25
Ein Formater formatiert Quellcode automatisch. Dann wird zb. ausfoo(){
}
plötzlichfoo()
{
} ... und noch viel mehr. Eben was die Code Conventions so alles verlangen.Nana (http://java.sun.com/docs/codeconv/html/CodeConventions.doc9.html#331), die Code Conventions für JAVA empfehlen 1TBS.

@Topic: Für mich ist der in Eclipse integrierte Formatierer völlig ausreichend.

mfg

Laz-Y
2008-05-07, 19:03:04
Und bei dir merkt man, dass du Ironie nichtmal erkennst wenn sie dir ins Gesicht springt! ;)

Was GENAU hast du denn für Anforderungen?


Ich persönlich finde ja Formatter sowieso albern. Ich lass ja auch keinen Formatter über Shakespeare drüber laufen - der wird sich bei seiner Zeilenformatierung schon was gedacht haben! ;)
Jo Monger, den Irrtum hab ich einfach mal unterstellt. Sonst wär nämlich das ganze Posting Verarsche und das kann ich mir bei mapel110 nicht vorstellen. Aber ist ja auch egal.
Außerdem, kann es ein, dass auch Du nicht viel programmierst? Ich kenn keinen einzigen Programmierer, der sich an kuriosen und ausgefallenen Formatierungen anderer erfreut. Hier kommts eigentlich nur auf Lesbarkeit an und die ist mit ner vernünftigen Formatierung (wie die auch für jeden persönlich aussehen mag) halt am besten.

Ich werd mal versuchen JBuilder und Netbeans als Formatierer zu vergewaltigen. Mal sehen obs damit besser geht. Für die bisherigen und weitere Vorschläge schonmal danke :).

Monger
2008-05-07, 19:54:13
Außerdem, kann es ein, dass auch Du nicht viel programmierst?

Sorry, aber auf solche Schwanzlängenvergleiche lasse ich mich nicht ein.

Ich kenn keinen einzigen Programmierer, der sich an kuriosen und ausgefallenen Formatierungen anderer erfreut.

Ich hab ständig mit fremden Code zu tun - aber das letzte was mich dort stört, ist die Formatierung. Das echte Verständnishindernis ist dort nicht das Layout, sondern der Inhalt, der Programmierstil. Da steckt nunmal auch das Know How drin.

Darum zu streiten ob der Code so


if(something) { return x;}

oder so

if(something)
{
return x;
}

aussehen soll, finde ich ehrlich gesagt ziemlich albern. Noch dazu weil es kontextabhängig ist: je nachdem wie der Code im einzelnen aussieht, kann mal die eine oder die andere Variante lesbarer aussehen.

Die Form sollte dem Inhalt folgen, nicht umgekehrt. Du fängst ja bei einem Gedicht auch nicht an erst die Satzzeichen zu setzen, bevor du den Inhalt weißt.

mapel110
2008-05-07, 20:20:26
Sorry, aber auf solche Schwanzlängenvergleiche lasse ich mich nicht ein.

Ich hab ständig mit fremden Code zu tun - aber das letzte was mich dort stört, ist die Formatierung. Das echte Verständnishindernis ist dort nicht das Layout, sondern der Inhalt, der Programmierstil. Da steckt nunmal auch das Know How drin.

Darum zu streiten ob der Code so


if(something) { return x;}

oder so

if(something)
{
return x;
}

aussehen soll, finde ich ehrlich gesagt ziemlich albern. Noch dazu weil es kontextabhängig ist: je nachdem wie der Code im einzelnen aussieht, kann mal die eine oder die andere Variante lesbarer aussehen.

Die Form sollte dem Inhalt folgen, nicht umgekehrt. Du fängst ja bei einem Gedicht auch nicht an erst die Satzzeichen zu setzen, bevor du den Inhalt weißt.
Es geht auch noch

if(something) return x;

zumindest mit PHP. :)

Auch wichtig ist, dass man einen Formatierungsstil durchzieht. Dazu muss ich meine zusammengeklauten Zeilen auch nochmal durchgehen. :D

Laz-Y
2008-05-08, 01:26:41
@Monger
Der Vergleich zwischen einem Gedicht, durch das der Autor seinem persöhlichen Stil Ausdruck verleihen will und Quellcode, der Konventionen dienen muss, die nur erfunden wurde, damit Code von einer Menge verschiedener Programmierer schnell bearbeitet werden kann, hinkt meiner Meinung nach gewaltig.
Desweiteren ist der Beispielcode der möglichst einfachste Fall. Sich daran aufzuhängen geht komplett am eigentlichen Problem vorbei. Es gibt auch komlizierte Konstrukte, die nicht so einfach zu durchschauen sind, erst recht wenn sie in einer ungewöhnlichen Formatierung vorliegen. Ich hoffe dass wir wenigstens in dem Punkt übereinstimmen.

Alles was ich habe, ist Quellcode. Es gibt keine anderweitige Dokumentation. Und da fällt das Durcharbeiten eben um eines leichter, wenn der Code im gewohnten Format ist - jedenfalls mir. Wenn Dir das nicht so geht dann sei froh.

Mein eigentliches Problem ist vor allem, dass ich _meinen_ Code in das Format bringen muss, das die Entickler gewöhnt sind. Müsste ich im gewünschten Stil programmieren würde _mich_ das sehr stören - andere mögen das anders sehen.

Darum: falls jemand noch Formatiertools kennt dann bitte ich darum diese zu posten.
Eine philosophische Diskussion über Sinn und Zweck bitte nicht im Thread sondern per pm.