codezeilenlänge(konvention/empfehlung) und monospace schriftarten?



  • Hab sie frueher so lange gemacht, dass sie gut in die IDE passen. Jetzt mache ich sie 80 Zeichen lang, damit 2 Fenster (.h und .cpp) in die IDE passen.

    Haengt dann natuerlich auch vom Monitor ab..

    Viele Unix Programmierer haben die Konvention 80 Zeichen, aber ich wuerds so machen, wie es fuer mich passt..



  • Man liest häufig, dass die Zeilelänge auf 80 begrenzt werden sollte, um kompatibel mit allen möglichen Terminals zu sein (oder warum auch immer).
    Das halte ich für völligen Blödsinn. Warum sollte man sich einschränken, nur weil vor 100 Jahren mal nur 80 Zeichen auf die Lochkarten gepasst haben?
    Meine persönliche Grenze sind 120 Zeichen.

    Thomas



  • Ich mach immer eine 80 Zeichen/Zeile Begrenzung, damit ich noch genug Platz auf dem Bildschirm habe für Terminals, weitere Dateien etc.

    Außerdem gerät man so nicht in die Gefahr die einzelnen Zeilen zu überladen und die Distanz zwischen kurzen/leeren Zeilen zu langen Zeilen ist nicht so groß.

    @tfa
    Terminal != Lochkarte



  • Wenn man vernünftige Bezeichner wählt sind 80 Zeichen pro Zeile nicht möglich.



  • viel sinnvoller ist der gesunde menschenverstand als begrenzung.

    wenn eine zeile sinnvoll mal 81 zeichen brauchen sollte: warum nicht?
    die meisten zeilen brauchen das aber nicht. habe gerade mein letztes projekt durchgesehen. die längste zeile war 74 zeichen lang (mit einrückung). ich habe mit nicht 80 oder 75 zeichen als grenze gesetzt, sondern wenn eine zeile sich zu lang anfühlt, breche ich sie in logische kleinere konstrukte auf.



  • Also wir sind nicht mehr bei COBOL, wo nur die Spalten 8 bis 72 für Programmcode verwendet werden durften 😃

    Ich persönlich verwende auch eher runde 120 Zeichen, wobei ich präferiere einzelne Aufrufe nicht zu trennen, auch wenn es mal 125 Zeichen werden. Insgesamt stimmt das mit dem überein was ich in meiner IDE bequem zwischen diversen Toolfenstern in den mittleren Bereich des Editors bekomme.

    Selbst die gängigen UNIX-Terminals (PuTTY, XTerm, für die vi-Sessions :D) sind nicht mehr auf 80 Zeichen Breite beschränkt.



  • Ich würde sagen so > 200 Zeichen wirds irgendwann mal doof.

    Wenn sehr viele lange Zeilen in einem Stück Text vorkommen schaue ich aber auch dass ich unter ~120 bleibe, sonst wird das zu lästig.



  • Eine Anweisung pro Zeile. Egal wie lang.



  • frenki schrieb:

    Eine Anweisung pro Zeile. Egal wie lang.

    lesbarkeit adee?



  • Shade Of Mine schrieb:

    frenki schrieb:

    Eine Anweisung pro Zeile. Egal wie lang.

    lesbarkeit adee?

    Nö. Kommt nur alle Jubeljahre mal vor, dass ich irgendwelche kranken Müll-API's mit tausenden Parametern verwenden muss, was so ziemlich der einzige Fall ist, wo ich mal über den rechten Rand meiner IDE komme.

    Diese Dreck-API's sind sowieso schon Unlesbar, weil bei 20 Parametern niemand mehr durchblickt, welcher Parameter denn nu was ist. Also was solls...



  • ich brech zeilen nur um, wenn die lesbarkeit stark beeinträchtigt wird. bei 80 zeichen wird noch nichtmal die hälfte des bildschirms verbraucht, was soll der blödsinn? ^^

    beispiel:

    // erstklassig in einer zeile lesbar, auch wenns bisschen länger ist
    SpecialClassWithLongName localInstance = SpecialClassWithLongNameFactory.createInstance( 2, 3, "SomeCharParam" );
    
    // wäre kürzer als das erste beispiel, aber durch die ganzen funktionen unübersichtlich in einer zeile
    ShortClass count = helper.get( 
    	someFoo.getFunc( val, 12),
    	conv(3),
    	encodeUU("SomeCharParam") );
    

    und als schrift: bitstream vera sans mono



  • thordk schrieb:

    bei 80 zeichen wird noch nichtmal die hälfte des bildschirms verbraucht, was soll der blödsinn? ^^

    auf Deiner Kinoleinwand vielleicht... Ich finds immer sehr nervig wenn ich vor Fremdcode sitze und seitwärts scrollen muss.

    Wie kommt man überhaupt auf 120 Zeichen? Kann ich mir nur durch zu extreme Verschachtelung erklären.



  • ich kriege drei 80 zeichen consolen nebeneinander auf meinen bildschirm, eine zum programmieren, eine zum compilieren/debuggen, eine für dokumentation. => nach 80 zeichen wird umgebrochen.



  • DrGreenthumb schrieb:

    Wie kommt man überhaupt auf 120 Zeichen? Kann ich mir nur durch zu extreme Verschachtelung erklären.

    Indem man ausdrucksstarke Bezeichner verwendet?
    Ich habe z.T. Bezeichner die alleine schon 40 oder 50 Zeichen lang sind - 2-3 davon in einem Aufruf und du hast die 120 Zeichen schnell beinander.



  • DrGreenthumb schrieb:

    auf Deiner Kinoleinwand vielleicht... Ich finds immer sehr nervig wenn ich vor Fremdcode sitze und seitwärts scrollen muss.

    kauf dir nen anständigen bildschirm 😉 die olle 80 zeichen pro zeile regel ist schlicht antiquarisch und hat keine daseinsberechtigung mehr.



  • DrGreenthumb schrieb:

    Wie kommt man überhaupt auf 120 Zeichen? Kann ich mir nur durch zu extreme Verschachtelung erklären.

    (2 namespaceeinrückungen+1 klasseneinrückung+1 private/public einrückung+1 methodeneinrückung+1 If)*4er tab=24 Zeichen weg, bevor die zeile überhaupt beginnt. und mit den restlichen 56 Zeichen kommt kein Schwein aus.
    Ohja, komplexe formatierte templates verschlingen auch noch den ein oder anderen tab...

    Ich arbeite immer so, dass ich zwar seitwärts scrollen muss, um die ganzen tabs vor einer methode weg zu haben, aber ab dann muss sie problemlos auf den Bildschirm passen.



  • hustbaer schrieb:

    Ich habe z.T. Bezeichner die alleine schon 40 oder 50 Zeichen lang sind

    m_pCStrtCWhatASuperNameForMyClassButBlaBla??



  • DrGreenthumb schrieb:

    Wie kommt man überhaupt auf 120 Zeichen? Kann ich mir nur durch zu extreme Verschachtelung erklären.

    boost::asio::ip::tcp::resolver::iterator it = resolver.resolve( boost::asio::ip::tcp::query( host, service ) );
    

    Auf der zweiten Ebene (Namespace - Methode) sind das 111 Zeichen + zwei Tabs (x 8 Zeichen bei mir). Und innerhalb eines Headers kann man noch nichtmal usen oder aliasen, ohne das den Klienten zu vererben.



  • Also 80 Zeichen finde ich heute auch nicht mehr zeitgemäß. Ich habe 100 Zeichen eingestellt, erreiche diese aber seltener.

    Wenn ich Fremdcode anschaue, der breiter als mein Bildschirm ist, stell ich halt Zeilenumbruch ein. Wo ist das Problem?



  • LordJaxmon! Yo, kann man aber auch schöner machen:

    boost::asio::ip::tcp::resolver::iterator it = resolver.resolve( 
                                                           boost::asio::ip::tcp::query( host, service )
                                                           );
    

    Oder auch so:

    using namespace boost::asio::ip::tcp;
    resolver::iterator it = resolver.resolve( query( host, service ) );
    

    In einem Scope kein Problem und sauber.


Anmelden zum Antworten