Codestyle: Einrücken untergeordneter Abschnitte?



  • So und nicht anders

    GetElements()
    	.push_back(
    		SomeObject
    			(
    				param1,
    					param2,
    						param3,
    							param4,
    								param5,
    								param6,
    							param7,
    						param8,
    					param9,
    				param10)
    			);
    


  • cooky:
    Ich finde es nicht so wie in Beispiel2 zu machen fast immer deutlich schlechter lesbar. Man muss sich erstmal die Klammern zurechtwurschteln, damit man weiß, welche Parameterliste wozu gehört... Das finde ich scheußlich, wenn man es mit ein paar Leerzeichen und Tabs einfacher lesbar machen kann.



  • Eisflamme schrieb:

    Bashar:
    Du musst ja in Zeile 2 irgendwie bis nach rechts kommen.

    Naja, ich mach das nicht so. Ich sage nur, dass ich es akzeptabel finde 🙂

    Bei mir drücke ich solange Tab bis ich eben dort bin.

    Würde ich in dem Fall auch so machen. Wenn es mir zu aufwendig wird, würde ich es aber so wie asc schreiben.



  • ascs Version finde ich gut, ja.



  • asc schrieb:

    GetElements().push_back(SomeObject(
      param1, param2, param3, param4, param5,
      param6, param7, param8, param9, param10));
    

    Ist für mich akzeptabel.
    Alternativ vielleicht noch

    //A
    GetElements().push_back(
      SomeObject(param1, param2, param3, param4, param5, param6, param7, param8, param9, param10));
    
    //B
    GetElements().push_back(
      SomeObject(
        param1, param2, param3, param4, param5,
        param6, param7, param8, param9, param10));
    
    // oder eben gleich
    // C
    GetElements().push_back(SomeObject(param1, param2, param3, param4, param5, param6, param7, param8, param9, param10));
    

    Das einzig doofe ist, dass der Auto-Formatter von Visual Studio (B) nicht "kann" (es wird nur 1x eingerückt, die Parameter von SomeObject() werden nicht weiter eingerückt als "SomeObject(").



  • Eisflamme schrieb:

    Man muss sich erstmal die Klammern zurechtwurschteln

    Vielleicht solltest du einfach mal die Schriftgröße größer machen.. oder so. 😉 Ich habe da jedenfalls keine Probleme mit, und falls man mal eine Klammerorgie hat, macht man halt nach jedem Parameter einen Absatz.



  • Tabs durch Leerzeichen ersetzen zu lassen ist dumm und unpraktisch.



  • 314159265358979 schrieb:

    Tabs durch Leerzeichen ersetzen zu lassen ist dumm und unpraktisch.

    Ein echter Pi *einrahm*

    Ich muss zugeben, dass es bei mir sehr auf die Länge der parameterlister ankommt, was ich mache. Und ich rücke die () in dem Fall genau so ein wie ich {} einrücken würde.

    Das heißt:

    GetElements().push_back(
        SomeObject(
            param1, param2, param3, param4, param5, 
            param6, param7, param8, param9, param10
        )
    );
    

    Bei einer kürzeren Parameterliste könnte das dann aber auch so sein:

    GetElements().push_back(
        SomeObject(param1, param2, param3, param4, param5)
    );
    

    Das zweite sieht auch ganz hübsch aus, wenn man mehrere Parameter hat, die man so konstruiert und ist auch bei tieferer Klammerverschachtelung noch gut lesbar:

    GetElements().insert(
        std::make_pair(
            "id",
             SomeObject(param1, param2, param3, param4, param5)
        )
    );
    

    alles Geschmackssache 🙂


  • Mod

    314159265358979 schrieb:

    Tabs durch Leerzeichen ersetzen zu lassen ist dumm und unpraktisch.

    Quark, mal wieder, leider. Ich mag Forenbeiträge direkt aus meinem Lieblingseditor kopieren und möchte die nicht von Hand nachformatieren müssen.



  • Wie meinen? Das Forum ersetzt Tabs automatisch durch Leerzeichen. Und selbst wenn nicht, ist das eine ziemlich schwache Begründung.

    Ich sage dir, warum Tabs besser sind: Wenn mehrere Leute an Code arbeiten, kann sich jeder seine Wunsch-Tabbreite einstellen. cooky bevorzugt z.B. 4 Spaces, ich verwende 8.



  • 314159265358979 schrieb:

    cooky bevorzugt z.B. 4 Spaces, ich verwende 8.

    Abgesehen davon dass ich 2 Spaces nutze, ist das aber eher ein notwendiges Übel. Sonst nutze ich auch Leerzeichen. 😉



  • Dann eben 2.


  • Mod

    314159265358979 schrieb:

    Wie meinen? Das Forum ersetzt Tabs automatisch durch Leerzeichen. Und selbst wenn nicht, ist das eine ziemlich schwache Begründung.

    Aber mit anderer Tabbreite als ich sie benutze und dann sieht das scheiße aus. Und das ist auch genau der Grund gegen Tabs, denn von Zeit zu Zeit braucht man doch eben mal ein paar Leerzeichen, weil nicht alles exakt an den Tabs ausgerichtet. Oder man hat Tabs im Text selbst. Auf jeden Fall führt alles, was nicht strikteste Befolgung von kurzsichtigen Formatierungsrichtlinien ist, dazu, dass bei Konvertieren die Formatierung kaputt geht.

    Ich sage dir, warum Tabs besser sind: Wenn mehrere Leute an Code arbeiten, kann sich jeder seine Wunsch-Tabbreite einstellen. cooky bevorzugt z.B. 4 Spaces, ich verwende 8.

    Und gerade dann sehen Tabs für alle scheiße aus. Mit Leerzeichen sieht's zumindest für alle Beteiligten halbwegs gut aus. Und wenn sie so auf ihrer Lieblingsformatierung bestehen, dann jagen sie den Text durch einen automatischen Einrücker und haben dann sogar Klammern und Zeilenumbrüche in ihrem Lieblingsstil.



  • Deine Begründungen sind absoluter Schwachsinn. Wenn man Tabs richtig verwendet, geht die Formatierung auch nicht kaputt. Tabs mitten im Text sind tödlich.



  • @314159265358979
    Der Streit Tabs vs. Spaces geht seit es Programmierer gibt, danke dass du endlich Klarheit geschaffen hast.

    Vielleicht sollte man das auf Slashdot, Reddit etc. posten, damit es möglichst viele Programmierer sehen.



  • Dann argumentiert halt mal sinnvoll. Bisher beruhen eure "Begründungen" nur auf der Tatsache, dass ihr zu doof seid, Tabs und Leerzeichen richtig zu setzen. So schwer ist das nicht.



  • GetElements().push_back
    (
    	SomeObject
    	(
    		param1, param2, param3, param4, param5,
    		param6, param7, param8, param9, param10
    	)
    );
    


  • 314159265358979 schrieb:

    Dann argumentiert halt mal sinnvoll. Bisher beruhen eure "Begründungen" nur auf der Tatsache, dass ihr zu doof seid, Tabs und Leerzeichen richtig zu setzen. So schwer ist das nicht.

    Google die Argumente doch selbst.
    Neues gibt es hier nicht mehr zu sagen.
    Es gibt zwei Lager, die Tabber und die Spacer (OK, drittes Lager: die Mirwuschter), und die werden sich nicht einig werden.

    Zu glauben du hättest die allgemeingültige Lösung gefunden ist gleichermassen anmassend wie dumm.

    ps: ich selbst bin Tabber, was aber überhaupt nichts zur Sache tut.



  • Nö, ihr wollt mich belehren, also reibt mir die Argumente unter die Nase oder lasst es bleiben.



  • 314159265358979 schrieb:

    Nö, ihr wollt mich belehren, also reibt mir die Argumente unter die Nase oder lasst es bleiben.

    Mein Argument hab' ich dir bereits geschrieben, hast du einfach ignoriert. Hier nochmal:

    Neues gibt es hier nicht mehr zu sagen.
    Es gibt zwei Lager, die Tabber und die Spacer (OK, drittes Lager: die Mirwuschter), und die werden sich nicht einig werden.

    Zu glauben du hättest die allgemeingültige Lösung gefunden ist gleichermassen anmassend wie dumm.

    Ich argumentiere ja nicht für Spaces oder gegen Tabs, sondern den Standpunkt dass es anmassend und dumm von dir ist, zu meinen du wüsstest was besser als alle anderen, wenn offensichtlich seit Jahrzehnten kein Konsens in der Community gefunden werden konnte -- und das nichtmal annähernd.

    EDIT: ich will dir auch nicht deine Meinung dass Tabs besser sind wegdiskutieren, ich teile diese Meinung ja. Nur bitte check es endlich: du bist nicht das Mass der Dinge, und nur weil du meinst alles relevante zu einem Thema verstanden zu haben, alles zu beurteilen zu können, hast du noch lange nicht Recht. Das solltest du eigentlich schon 3x aus Erfahrung gelernt haben. Scheint bei dir aber nicht zu funktionieren, deine Überheblichkeit ist anscheinend genetisch bedingt oder sowas.


Anmelden zum Antworten