it-swarm.com.de

Code Zeilenumbruch - wie lange Zeilen behandelt werden

Ich stehe vor einer bestimmten Zeile, die 153 Zeichen lang ist. Nun neige ich dazu, Dinge nach 120 Zeichen zu brechen (natürlich hängt das stark davon ab, wo ich bin und von den lokalen Konventionen.) Also suche ich nach Ideen, was ich dafür tun soll.

Hier ist die Zeile:

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = new HashMap<Class<? extends Persistent>, PersistentHelper>();

Ich bin offen für beide Ideen, wie und wo die Linie gebrochen werden soll (und warum), und auch die Möglichkeit, die Linie selbst zu verkürzen.

Wir sind kein Java-Shop und es gibt keine lokalen Konventionen für solche Dinge, oder natürlich würde ich ihnen einfach folgen.

Vielen Dank!

31
corsiKa

Im Allgemeinen unterbreche ich Zeilen vorher Operatoren und rücke die folgenden Zeilen ein:

Map<long parameterization> longMap
    = new HashMap<ditto>();

String longString = "some long text"
                  + " some more long text";

Der führende Betreiber weist klar darauf hin, dass "diese Linie von etwas anderem fortgeführt wurde, sie steht nicht für sich allein". Andere Leute haben natürlich andere Vorlieben.

35
Anon

So mache ich es und Google macht es auf meine Art und Weise.

  • Unterbrechen Sie before das Symbol für Nichtzuordnung -Operatoren.
  • Unterbrechen Sie nach das Symbol für = und für ,.

In Ihrem Fall können Sie es, da Sie 120 Zeichen verwenden, nach dem Zuweisungsoperator auflösen

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper =
        new HashMap<Class<? extends Persistent>, PersistentHelper>();

In Java und für diesen speziellen Fall würde ich nach dem Umbruch zwei Tabulatoren (oder acht Leerzeichen) angeben, je nachdem, ob Tabulatoren oder Leerzeichen für die Einrückung verwendet werden.

Dies ist natürlich eine persönliche Präferenz. Wenn Ihr Projekt eine eigene Konvention für Zeilenumbrüche hat, sollten Sie dies ganz genau befolgen, egal ob Sie es möchten oder nicht.

10
Daniel

IMHO ist dies der beste Weg, um Ihre Zeile zu schreiben:

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper =
        new HashMap<Class<? extends Persistent>, PersistentHelper>();

Auf diese Weise können Sie durch die verstärkte Einrückung ohne geschweifte Klammern erkennen, dass der Code gerade geteilt wurde, weil die Zeile zu lang war. Und anstelle von 4 Feldern machen 8 es klarer.

6
Colin Hebert

Verwendet die statischen Factory-Methoden von Guava für Maps und ist nur 105 Zeichen lang.

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = Maps.newHashMap();
4
whiskeysierra

Ich denke, es ist eine gute Praxis, den letzten Operator an den Anfang der nächsten Zeile zu verschieben. Auf diese Weise wissen Sie sofort den Zweck der zweiten Zeile, auch wenn sie nicht mit einem Operator beginnt. Ich empfehle auch 2 Einrückungsbereiche (2 Tabs) für einen zuvor gebrochenen Tab, um ihn von der normalen Einrückung zu unterscheiden. Das ist sofort sichtbar als Fortsetzung der vorherigen Zeile. Deshalb schlage ich folgendes vor:

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper 
            = new HashMap<Class<? extends Persistent>, PersistentHelper>();
0
Sasa