1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Klammern setzen

Dieses Thema im Forum "Programmieren" wurde erstellt von mogbo, 12 Oktober 2017.

  1. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    500
    Hallo,
    ich hoffe das wird nicht zum Streitthema :)

    Wie sollte man Klammern setzen:

    1.
    Code:
    #include <stdio.h>
    
    int main() {
        printf("Hello World\n");
        return 0;
    }
    
    2.
    Code:
    #include <stdio.h>
    
    int main() 
    {
        printf("Hello World\n");
        return 0;
    }
    
    Ist das reine Geschmackssache? Ich sehe in der Regel öfter "1.", habe aber auch schon von einem Kollegen damals zu meiner javascript Zeit (;'(), dass ich mir das gleich abgewöhnen soll und auf "2." wechseln solle.

    Begründungen hierzu oder reine willkür?
     
  2. zuglufttier

    zuglufttier Well-Known Member

    Registriert seit:
    2 November 2004
    Beiträge:
    1.653
    Ort:
    Ostfriesland
    Ich finde 2. hässlich und würde deswegen zu 1. greifen.

    Das ist Philosphie und Geschmacksfrage zugleich, finde ich. Außerdem muss man sich nur mit den anderen Personen einigen, die das lesen sollen...
     
  3. midnight

    midnight OpenBSD

    Registriert seit:
    1 Januar 2007
    Beiträge:
    247
  4. rubricanis

    rubricanis Homo ludens

    Registriert seit:
    22 August 2011
    Beiträge:
    686
    Ort:
    Ottendorf, Niederösterreich
    Geschmacks- und Gewohnheitsfrage. Ich ziehe (1) vor, lasse dann aber eine Leerzeile.
    Sollte nur konsequent sein. Lesen kann das jeder, so oder so.
     
  5. Vril

    Vril Active Member

    Registriert seit:
    4 August 2016
    Beiträge:
    325
    Ich habe es im tiefen letzten jahrhundert nach (2) gelernt - und bin dabei geblieben

    Damals waren die Editoren noch sehr rudimentär - und da war es halt gut, wenn öffnende und schließende Klammer in der gleichen Spalte standen

    Nachtrag: außerdem gab es früher wirklich Fälle, in denen ein Programmierer nach der Anzahl Zeilen Sourcecode bezahlt wurde ;-)
     
    Zuletzt bearbeitet: 12 Oktober 2017
  6. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    500
    Code:
    int main()
    {
        int a;
        scanf("%i", &a);
     
        switch(a) {
            case 1: {
            .....
           }
    .
    .
        }
    }
    
    Quasi beides gemischt

    Hab mir den style-Guide auch schon versucht anzueignen, tue mir jedoch als C-Anfänger im Verständnis noch recht schwer
     
  7. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    500
    Ja, kenn das Thema aus meinem alten Labor von der Zugprüfmaschine. Die Prüfprogramme waren unglaublich ausführlich kommentiert :)
     
  8. midnight

    midnight OpenBSD

    Registriert seit:
    1 Januar 2007
    Beiträge:
    247
    Im Prinzip ist der Style-Guide hinsichtlich der geschweiften Klammern ganz einfach:

    Bei Funkionen (main gehoert auch zu den Funktionen) die oeffnende Klammer unter den Funktionsnamen und beim Rest neben den Namen. :-)
     
  9. h^2

    h^2 hat ne Keule +1 Mitarbeiter

    Registriert seit:
    4 September 2009
    Beiträge:
    1.340
    Immer 2. das ist für mich logischer und symmetrischer -> wenn ich das Ende eines Blocks sehe kann ich einfach zum Anfang springen, selbst mit line-wrap (den es natürlich auch eigentlich nicht geben sollte).
     
  10. serie300

    serie300 Member

    Registriert seit:
    6 Februar 2016
    Beiträge:
    66
    Schönes Thema, immer wieder beliebt
    1. Bei Projektprogrammierung mit mehreren Programmierern nimmst du am Besten den Styleguide des Projekts / Auftragsgebers (gilt auch für Linux, FreeBSD, etc)
    2. Bei Eigenprogrammeriung sehe ich das eher nebensächlich. Mir persönlich gefällt das öffnende '{' drunter besser, weil man es dann weniger vergessen kann

    Was auch immer zu Diskussionen führt: Einrücken mit 'TAB' oder Leerstellen ...

    Serie300
     
    Rakor gefällt das.
  11. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    500
    .vimrc
    Code:
    ...
    set expandtab
    set shiftwidth=4
    ...
    
    .exrc
    Code:
    ...
    set tabstop=4
    ...
    
    Welche Diskussion :)
     
    Rakor gefällt das.
  12. serie300

    serie300 Member

    Registriert seit:
    6 Februar 2016
    Beiträge:
    66
    Siehst du - und ich bin der Meinung, daß da keine Leerzeichen in den Code gehören sondern Steuerzeichen 'HT' (ASCII Code 9). Wo der TAB dann steht ist Sache vom Editor.

    Serie300
     
  13. Rakor

    Rakor Moderator Mitarbeiter

    Registriert seit:
    17 September 2009
    Beiträge:
    2.025
    Ort:
    Mannheim
    Auch wenn das OT ist: mit Tabs kann dir das den Code in unterschiedlichen Editoren ganz böse zerreißen. Es gibt da genug die nen Tab 8 breit machen.... das sieht übel aus... und wenn dann noch zT Leerzeichen händisch irgendwo gesetzt wurden kannst das kaum noch lesen. Tabs sind TABU!

    Achso und zum Thema: Wie gesagt wurde... Wenn es Guidlines gibt sind die anzuwenden. Im Team sollte man sich einigen (es geht aber auch ohne sich zu einigen :)). Für Eigenprojekte: wie es beliebt. Fast jeder Style hat seine Begründung.
    Ich geb zu, dass ich meist einfach den Standard meiner IDE verwende :D
     
  14. chaos

    chaos *nix'ler

    Registriert seit:
    22 Juli 2003
    Beiträge:
    840
    Ort:
    München
    Ich ziehe den Allman-Style (2) vor. Da sind öffnende und schließende Klammer auf derselben Einrückungstiefe.
    Wichtig finde ich auch optionale Klammern konsequent zu setzen (z.B. nach einem if mit nur einer Anweisung).
     
  15. CrimsonKing

    CrimsonKing Systemzerstörer

    Registriert seit:
    9 März 2012
    Beiträge:
    1.524
    In COBOL meist gar nicht.

    Scherz beiseite: Ich bevorzuge (1) - aus rein ästhetischen Gründen.
     
    mogbo gefällt das.
  16. Vril

    Vril Active Member

    Registriert seit:
    4 August 2016
    Beiträge:
    325

    Wir einigen uns einfach auf white spaces ;-)
     
  17. Athaba

    Athaba Libellenliebhaber Mitarbeiter

    Registriert seit:
    10 März 2005
    Beiträge:
    3.311
    Ich nehme das Erste, wenn ich mich selbst entscheide, weil es vor allem in anderen Sprachen das Gängigere ist.

    Aber meist richte mich nach dem Styleguide des jeweiligen Projekts, bzw. auch dem was in einem gewissen Bereich üblich ist (also durch Libs oder so vorgegeben). Kann mit beidem Leben. :)
     
  18. rubricanis

    rubricanis Homo ludens

    Registriert seit:
    22 August 2011
    Beiträge:
    686
    Ort:
    Ottendorf, Niederösterreich
    Ich benutze nur noch Tabs (4) und denke da nicht mehr drüber nach. Ich kenne das Argument für Leerzeichen, bin die aber einfach leid. Bei Bedarf kann man die dann mit den meisten Editoren einfach konvertieren. 8 Leerzeichen sind eh viel zu viel und nur nervig.
    .