Habe eigentlich nur eine kleine Frage. Wie viele Leerzeichen rückt man einen Anweisungsblock in der Bash typischerweise ein? Oder macht man das einfach, wie es grade gefällt?
Bash-Einrücken
Anmeldungsdatum: Beiträge: 136 |
|
||
![]() Anmeldungsdatum: Beiträge: 2510 |
Servus, mit einem Tab. 😉 Aber bei der Frage kriegst du bei fünf anwesenden Leuten auch immer 42 Antworten. Das ist so ein kleiner Glaubenskrieg mal wieder. |
||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
mit einem Tab. 😉
Das ist wieder kein Glaubenskrieg, sondern es gibt Positionen, die man argumentativ stützen kann, und alle anderen braucht man gar nicht erst anzuschauen. Da es keinen Standard gibt, wie man kennzeichnet, welchen Einrückungsstil man verwendet verbietet es sich Tabulatoren und Blanks zu mixen. Mehr als ein Blank zu tippen ist aber unökonomisch, also rückt man mit Tabs ein. Das ist eine ganz einfache Begründung, und sie ist weit von jeder Art Glauben entfernt. Wohltuend entfernt, um das zu unterstreichen. |
||
Anmeldungsdatum: Beiträge: 986 Wohnort: Ottendorf-Okrilla |
richtig
Falsch. Deshalb stellt man seinen Editor auf sogenannte Soft Tabs, sprich man tippt auf die Tabulator Taste auf der Tastatur, aber der Editor macht X Leerzeichen draus, wobei für X vorzugsweise 2 eingesetzt wird. Mit Tabs hat man nur das Problem, dass jeder seinen Editor auf eine andere Tabgröße eingestellt hat, und in der Konsole hat es normalerweise eine Tabgröße von 8, was wenn man in seinem Editor 2 oder 4 eingestellt hat, dann sehr hässlich aussieht.
|
||
![]() Anmeldungsdatum: Beiträge: 406 Wohnort: Söm |
Also ich halte das genauso wie von linopolus beschrieben mit den 2 Leerzeichen als Softtab. MFG Matthias |
||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
Richtige Tabs erlauben es jedem User selbst einzustellen wie er es angezeigt bekommt. Blanks dagegen zwingen den anderen Deine Vorlieben auf.
Aus gutem Grund. |
||
Anmeldungsdatum: Beiträge: 986 Wohnort: Ottendorf-Okrilla |
Richtig, nur nützt das niemandem wenn es dann nicht mehr wirklich lesbar ist weil alles irgendwie komisch eingerückt ist. Nicht ohne Grund geben Projekte die Tabs verwenden immer an wie groß die Tabs sein sollen. Wahlfreiheit hast du also dadurch auch nicht.
|
||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
Wofür ist das gut, außer um Tabs mit Blanks zu mischen? Oder was sonst meinst Du mit 'komisch eingerückt'? Komisch eingerückt ist es, wenn jmd. mal dies, mal jenes gemacht hat, und man wissen muss, wieviele Blanks ein Tab sind, damit es nicht mehr komisch aussieht, sondern wie bei diesem Moron.
Tun sie das? Kennst Du alle Projekte, die Tabs verwenden? |
||
Anmeldungsdatum: Beiträge: 986 Wohnort: Ottendorf-Okrilla |
sorry, ich wollte natürlich meistens schreiben, und natürlich kann ich nur von Projekten sprechen, die ich kenne. Ich kann aber auch sagen, dass ich selber schon Dateien geschrieben habe, Tabgröße 2 und ohne softtabs, und die danach bei der Ausgabe durch cat furchtbar aussahen, obwohl ich konsequent nur Tabs verwendet habe. |
||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Das habe ich in meinen "Anfängertagen" auch getan ... ☺ Aber auf längere Sicht ist das doch ziemlich unübersichtlich. Deshalb benutze ich in Shell-Scripten heute genau wie Vain und user unknown den [TAB] zum einrücken. Alternativ habe ich auch schon 4 Leerzeichen tiefe Soft-TABs gesehen (wenn man es nicht ganz so tief haben will). Aber weniger ...? - nee, man darf es zwar, aber Du siehst es praktisch nie bei "etablierten" Skripten. LG, track |
||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
a) Und inwiefern sahen sie furchtbar aus? Einfach ungewohnt? So, wie sie bei jedem aussehen, der Tabs mit Einrückung auf 8er-Positionen macht - egal ob Soft oder nicht? b) Wieviel Aufwand wäre es denn, einen Ersatz für cat zu schreiben, der mit sed aus Tab zwei Blanks macht? |
||
Anmeldungsdatum: Beiträge: 2087 |
Hi Auch, wenn es KEIN Glaubenskrieg sein soll ... es liest sich genau nach so Einem!! Zum 'komisch aussehen' - so ganz ohne, daß ich irgend Einem hier was 'beweisen müsse' oder beim 'S(hwanzvergleich' hier unbedingt mitmachen müsste ... durch die Nutzung von TAB's werden die Blöcke eben 8 Zeichen eingerückt (pro TAB) - in einer Schleife, in einer If, darin eine Case-Abfrage ... da kommen recht schnell einige TAB's zusammen und auf Deinem DIN-A-0 Drucker passen die Zeilen gerade so noch auf's Papier - aber bestimmt nicht mehr auf Deinen Monitor - Zeilenumbrüche mit 'Restzeilen' direkt am Zeilenanfang ... ich würde es 'komisch aussehend' nennen oder schwer lesbar. Selbst rücke ich (ACHTUNG, neue Variante) 3 Space ein So, jetzt könnt Ihr auch hier rummeckern, oder es jeden so machen lassen, wie er es macht, feddisch. Es geht nur darum, daß man den Block bzw. die Tiefe der Schachtelung erkennt. MfG |
||
![]() Anmeldungsdatum: Beiträge: 8606 |
Wenn man nicht gerade sed benutzt (mangelnde Encoding-Unterstützung) nicht viel, aber das löst das Problem nicht. Denn das Tabulatorzeichnen bedeutet nicht "Zeige hier X Leerzeichen an", sondern "Zeige Leerzeichen an bis modulo X des aktuellen Zeilenwerts 0 ist". Solange man nur Tabs am Anfang einer Zeile benutzt und die maximale Zeichenlänge nicht erreicht, ist man natürlich fein raus, beides liefert das gleiche Ergebnis. Aber wehe nicht ... Dass Tabs ein Argument für die Konfigurierbarkeit der Anzeige sind, kann man so auch nicht stehen lassen. Jeder ernsthafte Editor erlaubt Ein- und Ausgabefilter für Indentiation. Wer will kann sich Y Leerzeichen locker durch X ersetzen lassen. |
||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
Wieviele Glaubenskriege hast Du denn schon im Internet verfolgt?
Mein Drucker kann nur A4, aber ich drucke auch nicht oft Quellcode, sondern nutze einen schon fast antiquarisch zu nennenden 4:3 Moni. Und wenn ich alle Shellscripte anschaue, die sich in meinem ~/bin - Ordner angesammelt haben, so ist die tiefste Einrückungsstufe die ich da erreicht habe über die Jahre 6. Und wenn ich das mit cat ausgebe -
dann sieht man, dass da spielend 12 Einrückungstiefen passen würden, denn 12*8 ist 96, und das Display macht 112 Zeichen in der aktuellen Schrift. Wenn die bessere Tabulatorpolicy zu kürzeren Methoden erzieht kann das auch nur begrüßt werden.
Das passiert nur Textausgabe oder Kommentaren, oder irre ich mich?
Du musst Dich nicht selbst belasten. ☺
Unter Linux darf natürlich nicht ein Link zum Meister fehlen: http://lxr.linux.no/#linux+v2.6.37.2/Documentation/CodingStyle auch wenn sich das auf Kernelsource, aka C-Code bezieht. Man kann dort viele, wertvolle Anregungen abgreifen, und dann geläutert zum Pfad der Tugend mit der magischen Zahl 8 zurückkommen. Ich notiere mir hier schonmal die Namen der Abweichler, aber keine Angst - das hat nichts zu bedeuten. ☺ |
||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
Lieber Adun, ich bin dankbar für den Hinweis. Man beachte folgenden Code:
Wie schön übersichtlich - nicht wahr? Mit Tabwidth=2, welch ein Festival für die Tastatur! ☺ Da gewinnt der Begriff 'Handarbeit' ganz neue Bedeutung. ☺ |