Checkstyle 100 Zeichen pro Zeile

M

Mart

Gast
Ich habe mir das Eclipse Plugin für Checkstyle geholt da ist die vorgabe dass eine Zeile nicht mehr als 100 Zeichen haben darf ( nehme ich mal an dass das so standard ist)

ich hab zb diese Zeile im Code
public Connector connect(Object component, Object connectOn, Class<? extends Annotation> onAnnotation) {
diese zeile hat jetzt 116 zeichen was soll ich da jetzt tun ? schlechte variablen namen hergeben .. bzw meine noch schlechter machen ? :D

noch ein beispiel wo die zeile einfach durch die Generics zu lange wird
public static <RSIMPLET extends RapidSimple> RSIMPLET rapidGenerate(final RSIMPLET simpleObject) {
so und nun? was tut man ... wenn man checkstyle "Richtlinien" aufstellt sollte es doch möglichkeiten diese sinnvoll einzuhalten bzw , wege vorgeshclagen werden womit man diese umsetzen kann
 

sascha-sphw

Top Contributor
Java:
public Connector connect(Object component, Object connectOn,
                         Class<? extends Annotation> onAnnotation) {
 

sascha-sphw

Top Contributor
Ich kenne das nur in Verbindung mit Notebooks. Denn die haben meist so kleine Displays, dass es so angenehmer zu lesen ist als mit Soft-Wrap. Könnte auch andere Gründe geben, aber die kenne ich dann selber nicht. 😂
 

thecain

Top Contributor
Meines Wissens ist diese Grenze noch von "früher" als die Auflösung eines Bildschirms 600x400 o.ä war und man dann nicht scrollen muss.

Ich persönlich finde 100 Zeichen sehr wenig und heutzutage nicht mehr nötig. Ist aber wie so vieles Geschmackssache.
 
M

Mart

Gast
ich hab mein Eclipse mit schriftgröße 24 eingestellt und selbst dann passen die 100 zeichen noch auf den Bildschirm
 

mrBrown

Super-Moderator
Mitarbeiter
Ich habe mir das Eclipse Plugin für Checkstyle geholt da ist die vorgabe dass eine Zeile nicht mehr als 100 Zeichen haben darf ( nehme ich mal an dass das so standard ist)
Die Konfiguration kannst du einstellen, eine wirkliche Standard-Konfiguration gibt’s bei Checkstyle nicht.

120 (oder 140) ist meist sinnvoll, um das auch in Diffs nebeneinander und in anderen Oberflächen als der normalen IDE vernünftig lesen zu können.
 

temi

Top Contributor
und worin ist da der tiefere sinn ? bzw warum ist das hilfreich?
Lange Zeilen sind für Menschen nicht gut zu erfassen. Es geht darum, das der Lesefluss nicht unterbrochen wird und sich das Auge beim Zeilenwechsel leichter tut. Ich meine, das ca. 80 Zeichen eine obere Grenze sind. Das gilt im Übrigen nicht nur in der Softwareentwicklung, sondern allgemein für Text, z. B. bei der Gestaltung von Webseiten.

Abgesehen davon steht es auch so (70 - 80 Zeichen) in den Java-Code-Conventions.
 
Zuletzt bearbeitet:

Oneixee5

Top Contributor
Es stimmt die Java-Code-Conventions gehen von 80 Zeichen aus. Wir haben uns im Team trotzdem auf 120 Zeichen geeinigt. Grund sind hauptsächlich die Generics. Umbrüche bei 80 Z. machen den Quellcode mit Generics vollkommen unübersichtlich. Man muss natürlich auch auf die Erfassbarkeit Rücksicht nehmen, deshalb sollte es keine unbegrenzten Zeilen geben. Die Größe der Monitore ist bei uns kein Argument. Wir arbeiten alle mit einem 49" Monitor und einem 27" vertikal und ganz selten Mobil. Die Displays der Notebooks sind aber auch so gut geworden, dass man dass schon mal 1-2 Tage durchhält. Ich würde sowieso ungern nur mit einem Monitor arbeiten.
 

LimDul

Top Contributor
Je kürzer eine Zeile, um so besser und einfacher bekommt man bei diffs und merges das angezeigt.
Faustregel meines Erachtens: Bei der normalen Bildschirmauflösung sollte die doppelte Zeichenanzahl nebeneinander passen, damit das im Diff sauber lesbar ohne scrollen ist.

Dennoch ist klar - mit Generics & Co wird das manchmal schwer, weswegen 80 wirklich was knapp ist.
 

Robert Zenz

Top Contributor
ich hab mein Eclipse mit schriftgröße 24 eingestellt und selbst dann passen die 100 zeichen noch auf den Bildschirm
Nur weil du kannst, heiszt es nicht dass es eine gute Idee. Du kannst auch alle deine Klassen "Hansi1" bis "Hansi234" nennen.

Wie die anderen schon gesagt haben, es gibt mehr zu beachten als "bei mir passen aber 300 Zeichen auf den Bildschirm". Ich arbeite zum Beispiel mit einer Eclipse Konfiguration die in etwa 120 Zeichen zulaesst, schlicht und ergreifend weil ich viele Views noch um den Code angeordnet habe (und alle einklappen/verstecken macht micht wahnsinnig wenn ich die erst suchen muss wenn ich sie brauche, was oft ist). GitLab und GitHub stellen Diffs auch gerne nebeneinander dar, die haben so ziemlich feste Breiten, wenn ich mich richtig erinnere. Jedes andere Diff-Tool wird dir auch eine Ansicht nebeneinander anbieten, da wird der Platz eventuell auch eng. Bei jegliche Tools welche dir die Zeilen ausgeben (Code-Analyse und so weiter) wird es auch schwieriger zu lesen je laenger die Zeilen werden.

Und zu guter letzt, das lesen wird auch schwieriger je laenger die Zeilen werden. Zum Beispiel:

Java:
public CustomObject performComplexOperation(DataObject dataObject, int numberOfThreads, double roundingFactor, AnotherObject secondaryImportantThing, int AnotherParameter, LeastImportantObject tertiaeryObject) throws GeneralSecurityException, IOException {
    // Logic
}

Umgebrochen bei 120:

Java:
public CustomObject performComplexOperation(DataObject dataObject, int numberOfThreads, double roundingFactor,
                                            AnotherObject secondaryImportantThing, int AnotherParameter,
                                            LeastImportantObject tertiaeryObject) throws GeneralSecurityException,
                                            IOException {
    // Logic
}

Meine Praeferenz:

Java:
public CustomObject performComplexOperation(
        DataObject dataObject,
        int numberOfThreads,
        double roundingFactor,
        AnotherObject secondaryImportantThing,
        int AnotherParameter,
        LeastImportantObject tertiaeryObject) throws GeneralSecurityException, IOException {
    // Logic
}

Klar, wenn du lange Namen hast gewinnt man eventuell auch durch umbrechen nichts:

Java:
TotallyCustomDataObject totallyCustomDataObject = totallyCustomDataObjectRepository.findAllForMasterId(customDataObjectMaster.getId());

Am Ende musst du eine Regel finden mit der alle Leben koennen welche mit dem Code arbeiten, das inkludiert auch die die nach dir kommen!
 
M

Mart

Gast
@Robert Zenz habe sogar grade herausgefunden wie man das in eclipse einstellen kann dass das builder pattern und das mit den Parametern pro Zeile angezeigt wird falls es interessiert / du noch nicht hast


das Update 2021 kommentar
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Checkstyle Allgemeine Java-Themen 6
Mr. Pink Erste Schritte Checkstyle.properties Allgemeine Java-Themen 3
D Checkstyle Plugin Allgemeine Java-Themen 4
M Frage zu Checkstyle Allgemeine Java-Themen 5
L Checkstyle: Wann ist eine Methode für Vererbung entworfen? Allgemeine Java-Themen 13
N Checkstyle - Design for Extension Allgemeine Java-Themen 4
D FindBugs oder CheckStyle aus Java-Programm starten Allgemeine Java-Themen 2
T CheckStyle, JUnit und FindBugs aus Java-Programm starten Allgemeine Java-Themen 2
M Probleme mit Checkstyle , v.a. Klammersetzung Allgemeine Java-Themen 8
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
S Zeichen | in regex Allgemeine Java-Themen 8
_user_q JavaFX Robot alle Unicode-Zeichen schreiben lassen können Allgemeine Java-Themen 12
T Komische Zeichen im Zusammenhang mit Serializable interface Allgemeine Java-Themen 13
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
Master3000 Komisches Zeichen als Ausgabe in der Konsole Allgemeine Java-Themen 20
M Warum gibt es Unterschiedliche Kommentar Zeichen Allgemeine Java-Themen 15
N Überprüfung ob ein bestimmtes Zeichen <1 mal vorkommt Allgemeine Java-Themen 2
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
G Übermittlung zusätzlicher ASCII-Zeichen bei Übertragung von Dateiinhalt mit Xmodem - JAVA Allgemeine Java-Themen 9
R Wie bekomme ich das Zeichen 'digit' an vorderster Stelle Allgemeine Java-Themen 4
S [Regex] Nur diese Zeichen beachten Allgemeine Java-Themen 1
Bluedaishi Zeile um zeichen erweitern Allgemeine Java-Themen 9
N Datei Zeilenweise Einlesen, Versteckte Zeichen Allgemeine Java-Themen 5
Xge Replace x Zeichen aus String Allgemeine Java-Themen 2
S Java Editor Bekomme bei der Code-Vervollständigung die Zeichen &#8203; Allgemeine Java-Themen 3
E Compiler-Fehler Unicode Zeichen einlesen Allgemeine Java-Themen 1
U Variablen Stringarrays mit wenig verschiedenen Zeichen effizienter speichern Allgemeine Java-Themen 10
T xls-Datei per Apache Commons CsvParser einlesen UTF-8 Zeichen russische Zeichen Allgemeine Java-Themen 2
AssELAss String jeweils nach x Zeichen Zeilenumbruch Allgemeine Java-Themen 1
DStrohma Input/Output KeyEvent nur verarbeiten wenn es ein "sichtbares" Zeichen ist? Allgemeine Java-Themen 1
B In Java String ein + Zeichen Allgemeine Java-Themen 4
AssELAss Zeilenumbruch immer nach bestimmtem Zeichen Allgemeine Java-Themen 1
J Anzahl der Zeichen bei Eingabe begrenzen Allgemeine Java-Themen 5
V Tastendruck für UTF-8 Zeichen emulieren Allgemeine Java-Themen 4
B BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream Allgemeine Java-Themen 5
C Hex Zeichen ersetzen durch leer Zeichen Allgemeine Java-Themen 5
R Besondere Zeichen in Dateinamen Allgemeine Java-Themen 4
B Alt-Griechisch Zeichen in Dateien Allgemeine Java-Themen 2
G AES Verschlüsselung nur bis 63 Zeichen Länge Allgemeine Java-Themen 2
M Fehlende Zeichen beim Drucken mit PDFBox Allgemeine Java-Themen 10
J String nur erste Zeichen vergleichen Allgemeine Java-Themen 6
C Variablen $-Zeichen in String ersetzen Allgemeine Java-Themen 3
S String Zeichen für Zeichen vergleichen Allgemeine Java-Themen 4
L Problem bei ausführbarer jar Datei mit Unicode-Zeichen Allgemeine Java-Themen 4
S String in Double - letztes Zeichen fehlt Allgemeine Java-Themen 4
A Erstes Zeichen im String "toUpperCase"n Allgemeine Java-Themen 11
A Umwandlung von Text/Zeichen in Polynome Allgemeine Java-Themen 8
cedi int Zahl in ein ASCII zeichen umwandeln und dieses in ein externes Textfenster schreiben Allgemeine Java-Themen 6
K String: alle X Zeichen Zeilenumbruch Allgemeine Java-Themen 3
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
Zettelkasten Aus String bestimmtes Zeichen herausfinden Allgemeine Java-Themen 19
M Asterisk in String ("Egal-Zeichen") Allgemeine Java-Themen 4
V Chinesische Zeichen Escapen Allgemeine Java-Themen 4
I Teilweise falsche Darstellung jap. Zeichen im JEditorPane mit RTFEditorKit aus RTF-Datei Allgemeine Java-Themen 5
D Datei mit allen Ascii Zeichen Allgemeine Java-Themen 2
R Unsichtbare Zeichen Allgemeine Java-Themen 7
U Namen von Klassen haben $-Zeichen Allgemeine Java-Themen 5
P RegEx und $-Zeichen als Literal Allgemeine Java-Themen 5
neonfly Anzahl Zeichen pro Zeile auf der Konsole Allgemeine Java-Themen 8
C Strings zwischen 2 Zeichen auslesen Allgemeine Java-Themen 7
A Zeichen beim Eingeben in ein DOS-Fenster nicht anzeigen? Allgemeine Java-Themen 3
F Hexcode von ASCII Zeichen erhalten Allgemeine Java-Themen 2
J Mit Scanner-Klasse eine Datei zeilenweise einlesen und nur bestimmte Zeichen abfragen Allgemeine Java-Themen 11
V Dateien mit &-Zeichen im Namen öffnen Allgemeine Java-Themen 13
N String in einzelne Zeichen zerlegen Allgemeine Java-Themen 8
M Problem mit Zeichen aus einer Datei auslesen Allgemeine Java-Themen 2
T Shapes vergleichen? Zeichen erkennen? Allgemeine Java-Themen 7
G String.replaceall - mehrere Zeichen durch eines ersetzen Allgemeine Java-Themen 5
G Tschechische Zeichen in XML-Antwort Allgemeine Java-Themen 22
J Encoding und Gewinnung von Zeichen aus der Hexa-Darstellung Allgemeine Java-Themen 6
N Xor Warum kommt Flasches Zeichen in Java Allgemeine Java-Themen 36
S Stringarray splitten an unbekanntem Zeichen Allgemeine Java-Themen 7
A Dezimalzahlen: Komma-Zeichen Allgemeine Java-Themen 4
T Einzelnes Zeichen von der Tastatur einlesen, aber ohne Enter Allgemeine Java-Themen 4
S Was bedeutet dieser Zeichen Allgemeine Java-Themen 4
E Wie Zeichen eingeben mit Klasse Scanner? Allgemeine Java-Themen 5
S Zeichen, dass Programm noch läuft Allgemeine Java-Themen 3
M Anwendung nur einmal starten / Zeichen in String zählen Allgemeine Java-Themen 7
T [Regex] Zeichen ausschließen Allgemeine Java-Themen 8
Luma Unicode Steuerzeichen von druckbaren Zeichen trennen Allgemeine Java-Themen 10
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
G String parsen und Problem mit escaped zeichen Allgemeine Java-Themen 4
Z Letztes zeichen eines strings löschen Allgemeine Java-Themen 3
A bestimmte Zeichen aus einem String auslesen Allgemeine Java-Themen 2
L unicode-zeichen in ein txt-File schreiben Allgemeine Java-Themen 3
J Problem mit nichtlateinischen Zeichen Allgemeine Java-Themen 2
B String + Zeilenumbruch nach X-Zeichen Allgemeine Java-Themen 4
M Nach 4 Zeichen Fokus ändern Allgemeine Java-Themen 2
oliver1974 Wie ResourceBundles mit Unicode Zeichen korrekt einlesen? Allgemeine Java-Themen 4
E Alarm ausgeben (ASCII Zeichen 7) über Lautsprecher Allgemeine Java-Themen 11
G Alle Zeichen des Alphabets ausgeben Allgemeine Java-Themen 4
K String-Objekt mit zig tausend Zeichen Allgemeine Java-Themen 12
T Muster/Zeichen/Texterkennung auf einem Image Allgemeine Java-Themen 9
Y Zeichen verschiedenfarbig in einer JTextPane darstellen Allgemeine Java-Themen 17
P Regulärer Ausdruck um sich wiederholende Zeichen zu finden. Allgemeine Java-Themen 9
O Split methode tut bei Zeichen "\", "\\" Allgemeine Java-Themen 7
H Unicode Darstellung in Java, spezielles Zeichen gesucht Allgemeine Java-Themen 4
S Unicode-Zeichen erstellen/ Kodierung Allgemeine Java-Themen 4
J RegEx: "wenn zeichen folgen ersetze x mit y, sonst mit Allgemeine Java-Themen 2
Z Zeichen/char in einer Datei löschen Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben