C++ Welche Tabulatorbreite?



  • groovemaster schrieb:

    Letztendlich ist es egal, ob du zu Spaces oder Tabs greifst. Wichtig ist lediglich, nicht beides zu vermischen und nicht einer fixen Tab Breite zu vertrauen.

    warum sollte man sich so einschränken und keine tabs mit spaces mischen? meinst du ich will mich beim programmieren darauf konzentrieren, wann ich tabs und wo ich spaces verwenden darf? das ist ja wohl total albern. 🙄
    ich stelle meinen editor einfach auf 'no hard tabs' und dann kann ich mischen, wie ich lustig bin. mein editor haut dann einfach bei 'tab' ein paar spaces rein und bei anderen sieht der code immer noch so aus, wie ich ihn geschrieben habe.
    ich will dir nichts einreden, du sollst mit deinen tabs glücklich werden, wenn du die so toll findest. bestimmt arbeitest du mit einem editor, der dir tabs bzw. spaces anzeigt und bestimmt tauscht du nie quelltexte mit anderen aus, oder? bei mir springt der cursor einfach nach rechts, wenn ich tab drücke und es entsteht ein breiter leerraum, den man nicht von einigen spaces unterscheiden kann. und falls du eines tages mal in einem team arbeitest, wirst auch du von tabs abstand nehmen.
    🙂



  • @groovemaster: vielleicht wäre das *die* programmiersparche für dich: --> http://compsoc.dur.ac.uk/whitespace/ 😃



  • DrGreenthumb schrieb:

    Blue-Tiger schrieb:

    Ich kenne keine Editoren, die solche "Alignment"-Einrueckungen vornehmen. Also mach ich das immer von Hand.

    oha... nee danke, ich drück dann doch lieber einfach Enter 😉

    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);
    

    👍



  • Lost in Space schrieb:

    warum sollte man sich so einschränken und keine tabs mit spaces mischen? meinst du ich will mich beim programmieren darauf konzentrieren, wann ich tabs und wo ich spaces verwenden darf? das ist ja wohl total albern. 🙄

    Nee, lediglich dieser Kommentar ist albern. Warum?

    Lost in Space schrieb:

    ich stelle meinen editor einfach auf 'no hard tabs' und dann kann ich mischen, wie ich lustig bin.

    Deshalb. Wenn du keine echten Tabs verwendest, mischst du auch nicht. Hier geht es um die Zeichen Tab (HT) bzw. Space, nicht die Tasten. 😉

    Lost in Space schrieb:

    bestimmt arbeitest du mit einem editor, der dir tabs bzw. spaces anzeigt und bestimmt tauscht du nie quelltexte mit anderen aus, oder?

    Falsch gedacht. 😉

    Lost in Space schrieb:

    bei mir springt der cursor einfach nach rechts, wenn ich tab drücke und es entsteht ein breiter leerraum, den man nicht von einigen spaces unterscheiden kann.

    Toll. Wer hätte das gedacht. 🙄

    Lost in Space schrieb:

    und falls du eines tages mal in einem team arbeitest, wirst auch du von tabs abstand nehmen.

    Erzähl mir nichts, von dem du scheinbar keine Ahnung hast. Beruflich habe ich nach Konvention bisher nur mit Tabs gearbeitet. Und ich habe auch nichts gegen Spaces. Nur was gegen Leute die glauben, sie seien vorteilhafter. Das ist einfach totaler Käse.



  • groovemaster schrieb:

    Lost in Space schrieb:

    ich stelle meinen editor einfach auf 'no hard tabs' und dann kann ich mischen, wie ich lustig bin.

    Deshalb. Wenn du keine echten Tabs verwendest, mischst du auch nicht. Hier geht es um die Zeichen Tab (HT) bzw. Space, nicht die Tasten. 😉

    ich denke du weisst wie das gemeint war. 😉

    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 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 Code

    Color 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:

    http://youtube.com/watch?v=tW1S2tsxVHg

    netter clip 👍



  • 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


Anmelden zum Antworten