codezeilenlänge(konvention/empfehlung) und monospace schriftarten?
-
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.
-
Ja, in diesem Fall ist das Importieren tatsächlich kein Problem. Aber bei einer einzeiligen Inline-Funktion schreibe ich dann doch lieber eine lange Zeile als zwei kurze, wobei die erstere nur einen Namen importiert.
Blödes Beispiel (analog zu oben, weil mir kein besseres einfällt)
// eher return m_resolver.resolve( boost::asio::ip::tcp::query( host, service ) ); // als using boost::asio::ip::tcp; return m_resolver.resolve( tcp::query( host, service ) );Da sträubt sich in mir irgendwas, das "tcp" gleich doppelt zu schreiben nur damit die Zeilenlänge schrumpft.
Ist wie gesagt ein blödes Beispiel, aber im Grunde sind wir uns ja auch fast einig, was die Zeilenlänge angeht. Zu schmal ist unzeitgemäß, zu breit (selbst wenn es auf einen Bildschirm passt) ist unleserlich.
-
können wir jetzt doch noch ein Cobolforum hier gründen ?
ich persönlich verwende 80 zeichen und Monospaceschriftarten, da ich viel auf dem Grossrechner zu tun habe und sonst vieles schlecht lesbar wird.
für c++ etc. verwende ich natürlich andere grenzen, da es einfach ein anderer einsatzzweck ist.
-
otze schrieb:
(2 namespaceeinrückungen+1 klasseneinrückung+1 private/public einrückung+1 methodeneinrückung+1 If)
namespaces und private/public rücke ich gar nicht extra ein.
hustbaer schrieb:
Ich habe z.T. Bezeichner die alleine schon 40 oder 50 Zeichen lang sind
da würde mich ja mal ein Beispiel für so einen Bezeichner interessieren!
Gerade bei C++ gehts doch eigentlich recht kompakt, wie Artchi gerade an LordJaxoms Code gezeigt hat.
Eine 120-Zeichen-Zeile nimmt bei mir die ganze Breite des Monitors ein. Da würde nicht mal mehr eine Klassenansicht an den Rand passen. Ihr habt echt zu große Bildschirme.