Checkstyle

bola

Mitglied
Moin,

für unsere Uni-Hausaufgaben müssen wir unser Programm stets durch checkstyle auf Fehler überprüfen lassen.
Das hat wohl bei dem einen oder anderen schon zu über 500 Fehlern auf 200 Zeilen geführt, weil Fehler, wie Tabulator statt Leerzeichen oder fehlende Leerzeichen vor einer { usw., auftraten.

Meine Frage: Was ist daran so schlimm, Tabulatoren statt Leerzeichen zu nutzen? Zumal der eine oder andere Editor automatisch Tabs nutzt. Ich meine, Notepad++ wäre solch einer. Inetellij hingegen setzt Leerzeichen. Ist es der Konsole z.B. nicht völlig egal, was von beidem genutzt wurde?

Ich bin mal gespannt.

Grüße,
bola
 

Joose

Top Contributor
Theoretisch macht das bei Code keinen großen Unterschied ob Leerzeichen oder Tabulatoren oder Leerzeichen vor Klammern.
Es sollten aber vor allem einheitlich bleibt auch im Team.

Ein kleiner aber feiner Unterschied gibt es natürlich schon zwischen Leerzeichen und Tabulatoren: Tabluator = 1 Byte, 4 Leerzeichen = 4 Byte
 

bola

Mitglied
Dann wäre ein Programm, in dem nur Tabulatoren benutzt werden ja wesentlich sinnvoller. Die ganzen Leerzeichen nur zum Einrücken läppern sich ja irgendwann und 4 Byte sind nicht unbedingt wenig.
Dann verstehe ich nicht, warum sowas als Fehler bzw. Warnung ausgespuckt wird.
 

Flown

Administrator
Mitarbeiter
Aufgepasst! Die 4 Byte pro Leerzeichen sind nur beim Source Code relevant, wenn das dann geparst und kompiliert ist, ist das dann auch egal.
 

Joose

Top Contributor
Der Code wird ja sowieso kompiliert, da sind diese auch wieder egal.
Sowas kommt dann eher bei einfachen Dateien zur Geltung.

Dann verstehe ich nicht, warum sowas als Fehler bzw. Warnung ausgespuckt wird.

Weil es bestimmte Konventionen gibt. Und ein Leerzeichen zwischen ")" und "{" nun mal den Code lesbarer macht. Ob nun 4 Leerzeichen oder Tabulatoren wäre egal einheitlich sollte es sein.
 

Tarrew

Top Contributor
Auf der Checkstyle Seite sind eig. alle 'Gründe' angegeben:
Checks that there are no tab characters ('\t') in the source code.

Rationale:

  • Developers should not need to configure the tab width of their text editors in order to be able to read source code.
  • From the Apache jakarta coding standards: In a distributed development environment, when the commit messages get sent to a mailing list, they are almost impossible to read if you use tabs.
 

Maskin

Mitglied
Es ist für das Coden egal ob Tabs oder Blanks verwendet werden, bleibt jedem selber überlassen, jedoch sollte im Team dies einheitlich gehalten werden und man sollte sich überlegen wie andere Programme die den Code anzeigen damit umgehen. Fisheye+Crucible, Compare Tools, usw.
Zum schreiben kannst du ja Tabs verwenden, hier bietet fast jede IDE eine Umwandlung/Ersetzung in Blanks an z.B.: 1 Tab = 2 oder 4 Blanks
 

Ähnliche Java Themen


Oben