C++ Welche Tabulatorbreite?
-
Ich benutze 2 Spaces

-
Bouncer schrieb:
Lost in Space schrieb:
Und ich habe auch nichts gegen Spaces. Nur was gegen Leute die glauben, sie seien vorteilhafter. Das ist einfach totaler Käse.
dann erklär mir doch mal, wie du das mit den tabs und spaces handlest beim programmieren. da du, wie du schriebst, keinen speziellen editor verwendest, der dir tab/spaces anzeigt: wie achtest du darauf, dass du nicht doch aus versehenen mal mischst? benutzt du ein spezielles tool, das dich dabei unterstützt? und: welchen vorteil bringt dir dieser mehraufwand?

Ich persoenlich geh davon aus, dass meine normalen Entwicklertools (mein Editor) das richtig machen. Dazu muss ich mir gar keine Tabs/Spaces anzeigen lassen. Im Normalfall merkt man Diskrepanzen auch ziemlich schnell (wenn man z. B. mit dem Cursor durch den Text scrollt), aber ich find eigentlich nie falsch gesetzte Tabs/Spaces. Die paar Male, wo ich - gewollt oder nur als Nebenprodukt - die komplette Einrueckungen meiner Files ueberprueft hab, waren die Tabs/Spaces auch immer korrekt gesetzt. also hab ich keinen Grund davon auszugehen, dass meine Tools hier versagen.
Das Ganze ist uebrigens kein Mehraufwand, da es wie gesagt meine IDE fuer mich korrekt macht. Ich ruecke mit Tabs ein, und die IDE rueckt nachfolgende Zeilen automatisch weiter mit Tabs ein. Ich aligne irgendwas mit Spaces und meine IDE sorgt dafuer, dass nachfolgende Zeilen gleich aligned sind.
Der Nutzen fuer mich ist wie weiter oben gesagt, dass ichs nicht mag, dass das auskommentieren von Zeilen mir mein Layout kaputt macht. Und ich denke fuer andere, die mit meinem Code arbeiten ists ganz nett, wenn sie ihre eigenen Tab-Widths festlegen koennen, ohne dass das Layout einbricht.
-
Blue-Tiger schrieb:
Das Ganze ist uebrigens kein Mehraufwand.
der mehraufwand besteht allein darin, dass man darauf achten muss, wo tabs und wo spaces platziert werden dürfen. bei einem 'tab-losen design' ist diese frage schlicht und ergreifend nicht vorhanden. du sagtes selber, dass du manchmal den cursor vertikal durch den text bewegst, um unstimmigkeiten zu entdecken. auch das kann sich ein 'nicht-tabber' komplett sparen.

-
No TABs - NEVER!!! schrieb:
Blue-Tiger schrieb:
Das Ganze ist uebrigens kein Mehraufwand.
der mehraufwand besteht allein darin, dass man darauf achten muss, wo tabs und wo spaces platziert werden dürfen. bei einem 'tab-losen design' ist diese frage schlicht und ergreifend nicht vorhanden. du sagtes selber, dass du manchmal den cursor vertikal durch den text bewegst, um unstimmigkeiten zu entdecken. auch das kann sich ein 'nicht-tabber' komplett sparen.

Darauf zu achten, wo tabs und wo spaces hinkommen ist kein Mehraufwand, da beides logisch getrennte Einsatzzwecke hat. Genauso wie ich Bremse und Kupplung nicht verwechsle, ich "weiss" einfach instinktiv, wann was benutzt wird.
Bzgl. Scrolling hast du mich falsch verstanden:
Ich scrolle den Cursor nicht vertikal durch den Text, um Unstimmigkeiten zu entdecken, sondern schlicht um in die naechste Zeile zu gelangen. Wenn ich nun Einrueckungsfehler haette oder z. B. per Copy & Paste Code von anderswo uebernehme, wuerde mir das dabei natuerlich auffallen
Aber wie gesagt, mir faellt da nie was auf, also geh ich davon aus, dass meine Tools die Einrueckung korrekt hinkriegen.
-
Blue-Tiger schrieb:
Darauf zu achten, wo tabs und wo spaces hinkommen ist kein Mehraufwand, da beides logisch getrennte Einsatzzwecke hat. Genauso wie ich Bremse und Kupplung nicht verwechsle, ich "weiss" einfach instinktiv, wann was benutzt wird.
und wer sich das nicht antun will, fährt eben ein auto mit automatikgetriebe.

-
Bouncer schrieb:
ich denke du weisst wie das gemeint war.

Wenn das Ironie gewesen sein soll, war's einfach nur schlecht.
Aber das mag auch daran liegen, dass ich Unregs nicht wirklich ernst nehme. Sry, mein Fehler.Lost in Space schrieb:
dann erklär mir doch mal, wie du das mit den tabs und spaces handlest beim programmieren. da du, wie du schriebst, keinen speziellen editor verwendest, der dir tab/spaces anzeigt: wie achtest du darauf, dass du nicht doch aus versehenen mal mischst?
Was soll ich denn "aus versehenen" machen? Ich sage meiner IDE, sie soll echte Tabs verwenden. Fertig.
Lost in Space schrieb:
welchen vorteil bringt dir dieser mehraufwand?
Welcher Mehraufwand? Du implizierst etwas, was nicht der Realität entspricht.
No TABs - NEVER!!! schrieb:
der mehraufwand besteht allein darin, dass man darauf achten muss, wo tabs und wo spaces platziert werden dürfen.
Nein, das muss man nicht. Denn wie schon erwähnt, Einrückung und Ausrichtung funktionieren unabhängig.
Aber mal davon abgesehen, Ausrichtung verwende ich sowieso kaum. Folgender CodeColor c = traceRay(precalculatedRays[pos], &tmp, 0, INITIAL_REFRACTION_INDEX);sofern man ihn nicht in einer Zeile unterbringen kann, sieht bei mir zB so aus
Color c = traceRay( precalculatedRays[pos], &tmp, 0, INITIAL_REFRACTION_INDEX);Auch wenn es meine persönliche Meinung ist, sein Layout strikt auf Einrückung zu trimmen, verbessert die Optik und Übersichtlichkeit.
-
groovemaster schrieb:
Bouncer schrieb:
ich denke du weisst wie das gemeint war.

Wenn das Ironie gewesen sein soll, war's einfach nur schlecht.
Aber das mag auch daran liegen, dass ich Unregs nicht wirklich ernst nehme. Sry, mein Fehler.kein problem, als registrierter wurde ich auch nie ernst genommen. ausserdem diskutieren wir hier nicht darüber, warum groovemaster die boarduser in zwei klassen unterteilt.

groovemaster schrieb:
Lost in Space schrieb:
dann erklär mir doch mal, wie du das mit den tabs und spaces handlest beim programmieren. da du, wie du schriebst, keinen speziellen editor verwendest, der dir tab/spaces anzeigt: wie achtest du darauf, dass du nicht doch aus versehenen mal mischst?
Was soll ich denn "aus versehenen" machen? Ich sage meiner IDE, sie soll echte Tabs verwenden. Fertig.
deine IDE kann aber keine tabs verwenden, wo sie nicht passen würden. es sei denn, sie schert sich einen dreck um deine formatierung. das wär' aber 'ne schlechte IDE.
groovemaster schrieb:
Lost in Space schrieb:
welchen vorteil bringt dir dieser mehraufwand?
Welcher Mehraufwand? Du implizierst etwas, was nicht der Realität entspricht.
der mehraufwand besteht darin, dass du bewusst tabs oder spaces verwenden musst. auch wenn es dir in fleisch und blut übergegangen ist, wie das fahren eines autos mit schaltgetriebe, so ist es dennoch ein mehraufwand, auf den 'non-tab user' getrost verzichten können.
groovemaster schrieb:
Color c = traceRay( precalculatedRays[pos], &tmp, 0, INITIAL_REFRACTION_INDEX);Auch wenn es meine persönliche Meinung ist, sein Layout strikt auf Einrückung zu trimmen, verbessert die Optik und Übersichtlichkeit.
ich formatiere oft so ähnlich, allerdings sieht es bei mir eher so aus:
Color c = traceRay (precalculatedRays[pos], &tmp, 0, INITIAL_REFRACTION_INDEX);wie du unschwer erkennen kannst, sind die 3 letzten zeilen abhängig von der länge der erste bis zur öffnenden klammer. das sind zufälligerweise 20 zeichen, wenn jemand seine tab-width auf '3' eingestellt hat, hat er schon mal die popokarte gezogen.

btw: hey, hab gerade beim kopieren gemerkt: dein code-beispiel war mit spaces formatiert. woher dieser sinneswandel

-
Bouncer schrieb:
kein problem, als registrierter wurde ich auch nie ernst genommen. ausserdem diskutieren wir hier nicht darüber, warum groovemaster die boarduser in zwei klassen unterteilt.

Mache ich nicht. Nur haben sich solche in der Vergangenheit leider immer wieder als Problem herausgestellt. Und am Tonfall kann man dann recht gut einschätzen, wer da entsprechenden Beitrag verfasst hat. Generell habe ich nichts gegen Unregs, nur betrachte ich sie erstmal recht kritisch. Wahrscheinlich hast du hier noch zu wenig gesehen, um eine Beurteilung abgeben zu können. Deinen persönlichen Angriff übersehe ich jetzt mal grosszügig, das solltest du dir aber für die Zukunft abgewöhnen.

Bouncer schrieb:
deine IDE kann aber keine tabs verwenden, wo sie nicht passen würden.
Das ist schon klar. Aber nochmal, Einrückung und Ausrichtung sind logisch zu trennen.
Bouncer schrieb:
der mehraufwand besteht darin, dass du bewusst tabs oder spaces verwenden musst.
Das ist aber kein Mehraufwand, der sich zeitlich oder aktionstechnisch widerspiegelt. OK, wer seeeehr weit ausrichtet, spart u.U. ein paar Tastendrücke. Hier ist dann wieder die IDE gefragt, ob sie das clever lösen kann. Theoretisch entstehen durch echte Tabs keine Nachteile. Zur Verdeutlichung mal folgendes Beispiel mit Tab Breite von 5:
<tab>Color c = traceRay(precalculatedRays[pos], <tab><tab><tab><tab>....&tmp, <tab><tab><tab><tab>....0, <tab><tab><tab><tab>....INITIAL_REFRACTION_INDEX);So sieht die Eingabe aus.
Eine clevere IDE macht daraus folgendes:
<tab>Color c = traceRay(precalculatedRays[pos], <tab>...................&tmp, <tab>...................0, <tab>...................INITIAL_REFRACTION_INDEX);Du hast weder Mehraufwand noch Nachteile. Aber halt die Vorteile durch echte Tabs, wie der nicht fixen Einrückung. Aber wie schon gesagt, solche Spielereien mache ich sowieso nicht, da solch eine Ausrichtung imo weniger übersichtlich ist.
Bouncer schrieb:
auf den 'non-tab user' getrost verzichten können.
Das ist aber, wie oben beschrieben, kein Argument gegen Tabs. Dafür hast du ohne echte Tabs "Mehraufwand" an anderen Stellen. Allerdings können auch hier clevere IDEs helfen, wenn auch nur bzgl. der Anzeige. Willst du ein Fremdmodul in ein Projekt eingliedern, welches auf einer anderen Tab Breite basiert, musst du trotzdem konvertieren.
Bouncer schrieb:
wie du unschwer erkennen kannst, sind die 3 letzten zeilen abhängig von der länge der erste bis zur öffnenden klammer. das sind zufälligerweise 20 zeichen, wenn jemand seine tab-width auf '3' eingestellt hat, hat er schon mal die popokarte gezogen.
Du scheinst es immer noch nicht zu verstehen, Einrückung und Ausrichtung sind zwei verschiedene Dinge.
Bouncer schrieb:
btw: hey, hab gerade beim kopieren gemerkt: dein code-beispiel war mit spaces formatiert. woher dieser sinneswandel

Das Forum bietet nun mal nur "4 Leerzeichen" zur Einrückung. Das ist dir womöglich entgangen.

-
*patsch* Natürlich sind TABs in Ordnung. Wie konnten wir nur so blind sein. Man braucht halt nur spezielle IDEs und muss sich darüber ein bisschen den Kopf zerbrechen. Warum haben wir Deppen nur den einfachen Weg benutzt?

btw. Macht TAB in eurer IDE einen Tabulator? Bei meiner IDE (Emacs) bedeutet TAB indent und das ist auch gut so imho.
-
-
rüdiger schrieb:
*patsch* Natürlich sind TABs in Ordnung. Wie konnten wir nur so blind sein. Man braucht halt nur spezielle IDEs und muss sich darüber ein bisschen den Kopf zerbrechen. Warum haben wir Deppen nur den einfachen Weg benutzt?

Findest du etwa, sinnvoll mit Tabs eingerueckter Code ist nicht in Ordnung? Wenn ja, warum? (Abgesehen davon, dass es dich natuerlich nervt wenn du ihn editieren willst und das nicht gewohnt ist, aber das geht einem ja bei jedem "fremden" Einrueckschema so).
"spezielle IDEs" braucht man natuerlich nicht, Faelle so wie die oben geposteten kommen ja nur sehr selten vor (zumindest bei mir). Dass es bei "dummen" Editoren ohne jegliche Unterstuetzung mit Handarbeit verbunden ist, seh ich ein, und ja, das ist evtl. ein Nachteil, allerdings verwendet heutzutage eh jeder intelligentere IDEs.
-
Ich finde Tabs zum Einrücken auch prima. Zum Beispiel, weil ich dann auch fremden Source in meiner bevorzugten Einrücktiefe -- 2 Spaces -- lesen kann.
-
rüdiger schrieb:
*patsch* Natürlich sind TABs in Ordnung. Wie konnten wir nur so blind sein. Man braucht halt nur spezielle IDEs und muss sich darüber ein bisschen den Kopf zerbrechen. Warum haben wir Deppen nur den einfachen Weg benutzt?

Lass die Polemik, rüdiger. Du als Mod solltest das eigentlich besser wissen. Keiner hat gesagt, dass Tabs besser sind. Es ist aber Blödsinn zu behaupten, Spaces wären es. Und dass bei einem Tab Tastendruck entsprechend viele Spaces eingefügt werden, braucht natürlich keine "spezielle" IDE bzw. Editor. Wo fängt denn "speziell" an und wo hört es auf? Ist mehr als Notepad schon "speziell"? Und um dies zu wissen, muss man sich natürlich keine Gedanken machen.

-
Einrückung 2 oder 3 mit Spaces. Wer was anderes nimmt ist ein Idiot.

-
wer weniger als 4 spaces nimmt zeigt nur das er zu tief verschachtelt :p
-
Blue-Tiger schrieb:
Ich hab grad gestest, Code::Blocks macht das automatisch.
Aus folgender Zeile:Color c = traceRay(precalculatedRays[pos], &tmp, 0, INITIAL_REFRACTION_INDEX);hab ich vor INITIAL_REFRACTION_INDEX umgebrochen, und C::B hat daraus automatisch folgende Einrueckung gemacht:
[i]<tab>[/i]Color c = traceRay(precalculatedRays[pos], [i]<tab>[/i]...................&tmp, 0, [i]<tab>[/i]...................INITIAL_REFRACTION_INDEX);
Also ich denke man kann sagen, das ist auf jeden Fall die idealste Lösung. Da ich aber noch nie einen Editor gesehen habe, der das so automatisch macht (und Code::Blocks will ich nicht benutzen müssen), bleibe ich doch lieber bei Leerzeichen ausschließlich.
So hässlich wie Groovemaster mag ich den Code nicht und die Tabweite umstellen habe ich in der Praxis auch noch nie vermisst.
-
DrGreenthumb schrieb:
So hässlich wie Groovemaster ...
Ich verbitte mir derartige Beleidigungen.

-
Mr. N schrieb:
Einrückung 2 oder 3 mit Spaces. Wer was anderes nimmt ist ein Idiot.

versager! scheiss auf Tabs! 4 Spaces 4 the lead!
-
groovemaster schrieb:
DrGreenthumb schrieb:
So hässlich wie Groovemaster ...
Ich verbitte mir derartige Beleidigungen.

Beleidigung?
-
DrGreenthumb schrieb:
Also ich denke man kann sagen, das ist auf jeden Fall die idealste Lösung. Da ich aber noch nie einen Editor gesehen habe, der das so automatisch macht (und Code::Blocks will ich nicht benutzen müssen), bleibe ich doch lieber bei Leerzeichen ausschließlich.
Ich habe meinen Emacs auch auf "immer Leerzeichen" gestellt, darum ist mir erst heute aufgefallen, dass der das sonst bei manchen Modi genauso macht. (Carbon-Emacs beim Editieren von XML-Daten.)
Mir sind trotzdem nur Spaces lieber.