Codeorganisation (c/c++)



  • die java c++ flamewars sind eindeutig besser, als die klammersetzungs flamewars



  • Hallo,

    bezüglich der Syntaxformatierung schliesse mich Mr. Evil an.
    Mal eine Frage nebenbei, wie ist es denn bei Liebhabern der ersten Methode mit switch case Blöcken, schreibt ihr es auch so:

    switch (a) {
        case 0: {
            break;
        }
    }
    

    Oder wie?



  • abc.w schrieb:

    ..., schreibt ihr es auch so:

    switch (a) {
        case 0: {
            break;
        }
    }
    

    Da die innere Klammer nicht benötigt wird, wird eine Antwort wohl nicht unbedingt kommen 😉



  • asc schrieb:

    abc.w schrieb:

    ..., schreibt ihr es auch so:

    switch (a) {
        case 0: {
            break;
        }
    }
    

    Da die innere Klammer nicht benötigt wird, wird eine Antwort wohl nicht unbedingt kommen 😉

    Manchmal schon:

    int main()
    {
    	switch(0)
    	{
    	case 1:
    		int x = 0;
    		break;
    	case 2:
    		break;
    	}
    }
    
    error C2360: initialization of 'x' is skipped by 'case' label
    see declaration of 'x'
    

    MfG



  • ...



  • Variante 2 ... Symmetrie hat oberste Priorität bei mir.



  • es ist alles halt auch recht subjektiv

    mein empfinden findet die zweite auch daher besser da so der code "angenehmer" zu sehen ist - wirkt klarer und aufgeraeumter, und somit auch uebersichtlich

    wenn ich viel code sehen und verstehen muss - wirkt variante 1 so "kompakt" und "gepresst" - das man sich auf dem ersten blick erst einmal erschlagen fuehlt

    aber wie gesagt, ist geschmackssache - da gibts keine "einigung" - so lange der code konsistent ist, und wenn man viele verschiedene sachen entwickelt wie wir, der code ueberall gleich geschrieben ist, passt das schon

    ich hatte auch mal ne zeit lang variante 1 bei privaten code probiert - war schnell wieder zur zweiten zurueck gewechselt



  • Mr Evil schrieb:

    aber wie gesagt, ist geschmackssache - da gibts keine "einigung" - so lange der code konsistent ist, und wenn man viele verschiedene sachen entwickelt wie wir, der code ueberall gleich geschrieben ist, passt das schon

    👍 Richtig, dass sich alle auf eine Variante einigen und man sich nicht ständig umstellen muss, ist eigentlich das Wichtigste. Bei uns ist Variante 1 übrigens Pflicht, was ja zum Glück auch meiner persönlichen Vorliebe entspricht. Um wem es anders geht, der gewöhnt sich nach kurzer Zeit dran.



  • ich benutze auch immer variante 1.. wobei ich im fremden code zu 99% variante 2 sehe... d.h. 99% der Programmierer sind bettnässer?



  • BorisDieKlinge schrieb:

    ich benutze auch immer variante 1.. wobei ich im fremden code zu 99% variante 2 sehe... d.h. 99% der Programmierer sind bettnässer?

    😃



  • "scriptkiddys bevorzugen variante 1 weil man so profesionalitaet und komplexitaet vortaeuschen kann - schaut halt professioneller aus" #DuckUndWeg #gg



  • Ich finde, es geht hier nicht um die Geschmackssache oder Vorliebe, sondern, es geht um eine Art Phylosophie oder Strategie, bei der man vermeiden möchte, viel Zeit am Debugger zu verbringen. Was nützt einem ein kompakter Code, wenn man keine gute Stelle findet, wo man ein Breakpoint setzen könnte, oder bevor man ein Breakpoint setzt, zweimal hinschauen muss, dass man die richtige Zeile erwischt? (vielleicht werde ich alt...)
    Bei der ersten Methode finde ich sogar, dass der Programmierer mit Absicht seine Fehler im Code verstecken möchte. Bei der zweiten dagegen kostet es etwas Überwindung, sie zu benutzen, weil der Code dann "bloss gestellt ist", man sieht plötzlich alles und befürchtet vielleicht dann, dass der Reviewer etwas bemerkt - was im Prinzip gut wäre, bevor der Code freigegeben wird.



  • abc.w schrieb:

    Ich finde, es geht hier nicht um die Geschmackssache oder Vorliebe, sondern, es geht um eine Art Phylosophie oder Strategie, bei der man vermeiden möchte, viel Zeit am Debugger zu verbringen. Was nützt einem ein kompakter Code, wenn man keine gute Stelle findet, wo man ein Breakpoint setzen könnte, oder bevor man ein Breakpoint setzt, zweimal hinschauen muss, dass man die richtige Zeile erwischt? (vielleicht werde ich alt...)
    Bei der ersten Methode finde ich sogar, dass der Programmierer mit Absicht seine Fehler im Code verstecken möchte. Bei der zweiten dagegen kostet es etwas Überwindung, sie zu benutzen, weil der Code dann "bloss gestellt ist", man sieht plötzlich alles und befürchtet vielleicht dann, dass der Reviewer etwas bemerkt - was im Prinzip gut wäre, bevor der Code freigegeben wird.

    😮
    Meinst du das etwa ernst? Dein Posting ist eigentlich der Beweis dafür, dass dies reine Geschmackssache ist. Denn ich empfinde es gar nicht so wie du. Mir geht da keine Übersicht flöten, sondern ich gewinne imho Übersicht. Und erst recht verstecke ich nix. Dein Statement ist nun wirklich vollkommen subjektiv und selbst von dieser Warte völlig übertrieben.

    Tatsache ist doch, dass das Wichtigste für die Übersicht und Lesbarkeit des Codes das Einrücken ist, und das machen alle hier aufgeführten Varianten. Insofern akzeptiere ich auch alle (obgleich ich persönlich eben Variante 1 bevorzuge). Das solltest du auch tun.



  • Was haltet ihr denn vom Pico-Style?

    if (a < b)
    { x = a + b;
      y = b; }
    

    😃

    @abc.w: Ich kann ehrlich gesagt nichts von dem was du sagst nachvollziehen.



  • Tim schrieb:

    Was haltet ihr denn vom Pico-Style?

    if (a < b)
    { x = a + b;
      y = b; }
    

    schrecklich - zerschiesst jegliche vernuenftige einrueckung #gg



  • BorisDieKlinge schrieb:

    ich benutze auch immer variante 1.. wobei ich im fremden code zu 99% variante 2 sehe... d.h. 99% der Programmierer sind bettnässer?

    Diese Quote fällt bei mir zwar niedriger aus, aber in der Praxis habe ich bislang auch eher die 2te Variante gesehen (grob geschätzt: 2 70%, 1 25% und Andere Varianten 5%).

    Ich habe mehrere Stile ausprobiert und den 2ten als - für mich - am besten lesbar angesehen. Auf der Arbeit verwende ich aber eine Mischung aus 1 und 2 (Projektstil), Bei Klassen und Funktionen liegt das Äußerste Klammernpaar auf einer Höhe, ansonsten gilt Stil 1.

    cu André



  • Tim schrieb:

    Was haltet ihr denn vom Pico-Style?

    Garnichts. Zum Glück auch noch nicht in der Praxis gesehen.



  • abc.w schrieb:

    Bei der ersten Methode finde ich sogar, dass der Programmierer mit Absicht seine Fehler im Code verstecken möchte. Bei der zweiten dagegen kostet es etwas Überwindung, sie zu benutzen, weil der Code dann "bloss gestellt ist", man sieht plötzlich alles und befürchtet vielleicht dann, dass der Reviewer etwas bemerkt - was im Prinzip gut wäre, bevor der Code freigegeben wird.

    Andersrum. Ausführlicher, pseudo-übersichtlicher Code ist so langweilig, dass man beim Lesen einschläft und Fehler übersieht.



  • einschlafen ? kein kaffee da ? #gg



  • Mr Evil schrieb:

    "scriptkiddys bevorzugen variante 1 weil man so profesionalitaet und komplexitaet vortaeuschen kann - schaut halt professioneller aus...

    kann sein. sie glauben wohl, dass nur sehr erfahrene coder k&r benutzen. so'n archischen stil können nur leute, die seit den 70'er jahren in C programmieren. und wer das nachmacht, gehört zu den wahren cracks.
    btw, da geschweifte klammern von k&r-fans so stiefmütterlich behandelt werden und ihnen offenbar ein dorn im auge sind, hab' ich hier die ultimative lösung für alle k&r-fans. lasst doch die klammern einfach weg:

    if (a > b)
       mach_dies(),
       mach_das(),
       mach_jenes();
    

    ^^ vorschläge für eine namen? 'k&r reloaded' vielleicht?
    🙂


Anmelden zum Antworten