Forum: Offtopic The old 24-line limit still applies.


von Dennis S. (eltio)


Lesenswert?

Guten Morgen,

das Zitat aus dem Betreff stammt aus dem Buch "97 Things Every 
Programmer Should Know" im Zusammenhang mit der maximalen Länge von 
Funktionen. Mal abgesehen davon, dass ich das für unrealistisch halte: 
woher kommt diese Zahl? Ich schätze mal es hat mit den alten 
Stempelkarten zu tun, genau wie die "80-Spalten-Regel". Allerdings bin 
ich zu jung um es wirklich zu wissen. :-P

Gruß
Dennis

von Falk B. (falk)


Lesenswert?

"Mostly Unstructured Common Sense - completely and utterly useless
 Von  Dr. Gernot Starke   am 5. Februar 2010
Format: Taschenbuch
Beware of this book. It contains a completely unstructured and useless 
collection of opinions... not even
corrected or re-structured by the (quire famous) author/editor...

The whole book was compiled out of a public web discussion."

Ich bin kein Softwerker, aber eine Zeilenbegrenzung auf 24 Zeilen halte 
ich für arg akademisch. Wir hatten hier im Forum auch mal die (nicht 
ganz ernst gemeinte) Aussage von einem unser Software-Kenner, daß man 
streng genommen jede Funktion nur ein oder 2 Teilfunktionen begrenzen 
kann.

24 Bildschirmseiten ist sicher auch zuviel, die Wahrheit liegt wohl eher 
dazwischen. Aus dem Bauch heraus würde ich sagen, daß meine Funktionen 
bis max. 10 Bildschirmseiten lang sind, im Schnitt deutlich darunter, 
eher 1-2.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> woher kommt diese Zahl?
Die kommt daher, dass die "ersten" CP/M-Bildschirme 24 Zeilen bei 80 
Zeichen hatten.
http://hc-ddr.hucki.net/wiki/doku.php/z9001:cpm:crt80

Und schon damals galt: "Der Fehler ist immer im derzeit nicht sichtbaren 
Bereich!"
Wenn also eine Funktion auf 1 Bildschirm passte, war es weniger 
wahrscheinlich, einen Fehler zu übersehen...  ;-)

von Peter D. (peda)


Lesenswert?

Die Lesbarkeit steigt drastisch und die Fehleranfälligkeit sinkt, wenn 
man eine Funktion komplett ohne Scrollen anschauen kann.
Bei meinem PC sind das bei Notepad++ 48 Zeilen.

Lange Funktionen sind oft Copy&Paste-Monster, d.h. Wiederholungen von 
fast identischen Codestücken. Da ist Fehlersuche Schwerstarbeit.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Das kommt halt immer drauf an, was man in den Funktionen macht.

Aber davon ausgehend, daß jedes Programm mindestens einen überflüssigen 
Befehlt enthält und entfernt werden kann, ist das optimale Programm 
genau keinen Befehl lang.

von Mikro 7. (mikro77)


Lesenswert?

Lothar M. schrieb:
> Die kommt daher, dass die "ersten" CP/M-Bildschirme 24 Zeilen bei 80
> Zeichen hatten.

Ui, 24x80 ist aber lange her (das paßt dann auch zu CP/M Zeiten): 
https://en.wikipedia.org/wiki/VT100

Beim PC waren es dann eigentlich 25x80 (statt 24x80) Zeichen.

https://en.wikipedia.org/wiki/IBM_Monochrome_Display_Adapter

> http://hc-ddr.hucki.net/wiki/doku.php/z9001:cpm:crt80

War das nicht 40x32 auf 80x32? (Dann aber nur mit 4x8 Pixel pro Zeichen 
:-).

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Beim C64 waren's nur 40 Zeichen auf 25 Zeilen ...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mikro 7. schrieb:
> Beim PC waren es dann eigentlich 25x80 (statt 24x80) Zeichen.
>
> https://en.wikipedia.org/wiki/IBM_Monochrome_Display_Adapter

Ja, aber die meisten Editoren haben dann doch etwas Platz für sich 
selbst gebraucht, mit einer Menü/Statusleiste.

Und dann warens wieder 24 Zeilen. Oder sogar weniger, wenn man sich 
"Turbo Pascal" und vergleichbares im PC-Textmodus ansieht, das je nach 
Version vier oder sogar mehr Textzeilen für Menü, Statuszeile, Rahmen 
etc. verbrauchte.

Jedes auch nur etwas weniger triviale Programm aber ist mit 24 Zeilen 
kaum darstellbar, das gleiche gilt auch für einzelne Funktionen. Das war 
auch damals schon so, und deswegen war jede Vergrößerung der 
Bildschirmauflösung ein papiersparender Fortschritt.

Als ich mit 'nem 24-Zeilen-Terminal arbeiten musste, produzierte ich im 
Monat gut und gerne einen über 10 cm dicken Papierstapel (Endlospapier), 
um den Überblick zu haben.

Seit etlichen Jahren arbeite ich an einem Monitor, der etwas über 90 
Textzeilen darstellen kann - der Papierstapel ist schon sehr, sehr lange 
entfallen. Sourcecode ausdrucken? Geschichte.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Die 24 Zeilen stammen noch aus den frühen 70er Jahren, als die ersten
Computer-Terminals mit Bildschirm (Datensichtgeräte für Großcomputer)
aufkamen, Diese konnten meist 12 (z.B. Datapoint 2200, DEC VT50) oder 24
Zeilen á 80 Zeichen darstellen (z.B. IBM 3270, DEC VT52).

Diese 24 Zeilen wurden dann auch in die in der zweite Hälfte der 70er
Jahre auf den Markt kommenden Mikro-/Home-/Personalcomputer übernommen,
wobei dort die Zeilenlänge aus Kostengründen oft auf 40 Zeichen halbiert
wurde. Bekannte Geräte aus dieser Zeit sind der Apple-1, Apple II und
Commodore PET 2001. Lediglich der Tandy TRS-80 Model I fiel mit seinen
16 Zeilen á 64 Zeichen aus der Reihe.

Wie schon geschrieben wurde, haben einige Hersteller diese 24 Zeilen um
eine Statuszeile erweitert, was praktisch keinen Mehraufwand darstellte,
da in der für 80×24 Zeichen erforderlichen RAM-Größe von 2 KiB genauso
gut auch 80×25 Zeichen Platz haben.

Was die optimale Länge von Funktionen bzw. Unterprogrammen betrifft,
hängt diese stark von der verwendeten Programmiersprache ab. Natürlich
ist es schön, wenn ein Unterprogrammen komplett auf dem Bildschirm
dargestellt werden kann (der früher eben 24 Zeilen hoch war), aber kaum
ein Assemblerprogrammierer wird diese Grenze als praktikabel empfinden.

Auf der anderen Seite gibt es Sprachen wie Haskell, wo eine typische
Funktion weniger als 10 Zeilen (oft sogar nur eine einzige Zeile) lang
ist und eine 24-Zeilen-Funktion schon fast als Monster gilt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.