Programmierstil?



  • Das l ist zu weit weg. Die rechte Hand ist ja noch auf den Cursortasten vom Ansteuern der Zeile, weißt Du. Und meine Kombinationen gehen überall, sogar unter Linux. Geht schon recht fix.
    [Strg]+[v] ist viel schlimmer als [Shift]+[Ins], schon wieder die rechte rechte Hand.



  • volkard schrieb:

    Das l ist zu weit weg. Die rechte Hand ist ja noch auf den Cursortasten vom Ansteuern der Zeile, weißt Du. Und meine Kombinationen gehen überall, sogar unter Linux. Geht schon recht fix.
    [Strg]+[v] ist viel schlimmer als [Shift]+[Ins], schon wieder die rechte rechte Hand.

    Du hast entweder kleine Händer oder Wurstfinger, aber Strg+v krieg ich problemlos mit kleinem Finger auf Strg und Zeigefinger auf v gedrückt 😃 Wenn ich mich strecke, komm ich sogar an's l ran 😉
    Übrigens gibt es sowohl in vi als auch in emacs (wenn wir von Linux reden) effizientere Tastenkombos, um auszuschneiden, sich zu bewegen und wieder einzufügen. Da hat man dann eh meistens beide Hände auf den Buchstabentasten.

    Aber du legst den Fokus wohl eher auf die rechte Hand und ich auf die linke.



  • GPC schrieb:

    Du hast entweder kleine Händer oder Wurstfinger, aber Strg+v krieg ich problemlos mit kleinem Finger auf Strg und Zeigefinger auf v gedrückt 😃 Wenn ich mich strecke, komm ich sogar an's l ran 😉

    Ctrl+L mit kleiner Finger + Zeigefinger? Was hast du denn für Hände? 😮
    Ich schaff das nur mit kleiner Finger + Daumen. Tut's aber auch 🙂



  • volkard:
    Trotzdem verstehe ich nicht, wie das mehr und mehr unwichtig wird. Wenn die IDE automatisch einrückt, wird der Stil mit { am Ende der Zeile ja quasi "nicht mehr unterstützt". Das macht ihn ja trotzdem nicht besser. Oder war deine Aussage, dass dieser Stil automatisch von der IDE auf dauer ausgerottet wird?



  • Die Sache ist doch so: wenn du fremden Code debugst(oder der Einrückung eines anderen programmeirers nicht traust), dann drückst du einmal die magische Tastenkombination deiner IDE und alles ist korrekt eingerückt. Dann gibt sich dein Problem gar nicht. Genauso wie man sich als progrmamier angewöhnen kann, vorm Schließen einer editierten Datei einmal die magische Tastenkombination zu benutzen. dann tritt sowas auch nicht mehr auf.



  • hustbaer schrieb:

    GPC schrieb:

    Du hast entweder kleine Händer oder Wurstfinger, aber Strg+v krieg ich problemlos mit kleinem Finger auf Strg und Zeigefinger auf v gedrückt 😃 Wenn ich mich strecke, komm ich sogar an's l ran 😉

    Ctrl+L mit kleiner Finger + Zeigefinger? Was hast du denn für Hände? 😮

    Hab lange, schlanke Finger und meine linke Hand ist zudem auf Spreizung trainiert, da es auch die Greifhand beim Gitarrenspielen ist 😃
    Aber ich würde die Spreizung jetzt auch über einen Tag nicht 1x pro Minute machen wollen 😉

    Eisflamme schrieb:

    Wenn die IDE automatisch einrückt, wird der Stil mit { am Ende der Zeile ja quasi "nicht mehr unterstützt".

    Kann man doch einstellen wie man will. Ich habe die { Klammer auch nicht auf einer extra Zeile. Und wie otze sagte, drück ich bei fremdem Code einmal Strg+K, Strg+D und dann ist es so formatiert, wie ich's gerne habe 🙂 VS ftw!



  • Interessant, den kannte ich noch nicht.



  • Eisflamme schrieb:

    volkard:
    Trotzdem verstehe ich nicht, wie das mehr und mehr unwichtig wird.

    Wenn die IDE automatisch einrückt, muß man nicht mehr selber so stark auf's Einrücken achten. Man muß die Klammern nicht so setzen, daß einem Einrückfehler ins Auge fallen. Schlimmstenfalls wird man mißtrauisch und drückt schnell [Ctrl]+[A] [Alt]+[F8] (natürlich nicht Strg+K, Strg+D).

    Eisflamme schrieb:

    Wenn die IDE automatisch einrückt, wird der Stil mit { am Ende der Zeile ja quasi "nicht mehr unterstützt".

    Mein CodeBlocks rückt zur Zeit so ein:

    int main() {
    	for(std::size_t n = 0; n < 100; ++n) {
    		for(std::size_t m = 0; m < 100; ++m) {
    			std::cout << someGlobalMatrix[n][m] << ' ';
    			std::cout << '\n'; // Hoppla
    		}
    	}
    }
    

    (Muß mal den Knopf suchen, wo ich die nutzlosen Leerzeichen abschalten kann.)

    Eisflamme schrieb:

    Das macht ihn ja trotzdem nicht besser. Oder war deine Aussage, dass dieser Stil automatisch von der IDE auf dauer ausgerottet wird?

    Nö. Wenn ich mich recht erinnere, läßt MSVC beide Stile zu. Es rückt nur ein, schubst aber keine Klammern in eigene Zeilen oder klebt sie an Vorgängerzeilen.



  • volkard schrieb:

    Eisflamme schrieb:

    Das macht ihn ja trotzdem nicht besser. Oder war deine Aussage, dass dieser Stil automatisch von der IDE auf dauer ausgerottet wird?

    Nö. Wenn ich mich recht erinnere, läßt MSVC beide Stile zu. Es rückt nur ein, schubst aber keine Klammern in eigene Zeilen oder klebt sie an Vorgängerzeilen.

    Man kann es so einstellen, dass es die Klammern in eigene Zeilen schubst, an Vorgängerzeilen klebt oder die Klammern in Ruhe lässt.



  • Für C# kann bei bei der Formatierung jeden Pups einstellen 😃

    Für Zeile ausschneiden nehm ich immer SHIFT+ENTF - komm ich schneller ran, da die rechte Hand in dieser Situation eh auf den Pfeiltasten ist, ist der Zeigefinger schnell auf ENTF ein stück hoch gerutscht als wenn ich noch das l suchen muss 😃

    PS. mit ALT+Pfeiltasten kann man die Aktuelle Zeile mit der darunter oder darüber tauschen (Cursor wandert mit) so kann man auch schnell Zeilen verschieben.
    Kann aber sein das dass mit den Produtivity Power Tools rein gekommen ist (Mit diesem Add-on ist das Arbeiten ein Traum, so viele geile Features :))



  • David W schrieb:

    PS. mit ALT+Pfeiltasten kann man die Aktuelle Zeile mit der darunter oder darüber tauschen (Cursor wandert mit) so kann man auch schnell Zeilen verschieben.

    Supi Idee! Das will ich auch haben.



  • GPC schrieb:

    volkard schrieb:

    Eisflamme schrieb:

    Das macht ihn ja trotzdem nicht besser. Oder war deine Aussage, dass dieser Stil automatisch von der IDE auf dauer ausgerottet wird?

    Nö. Wenn ich mich recht erinnere, läßt MSVC beide Stile zu. Es rückt nur ein, schubst aber keine Klammern in eigene Zeilen oder klebt sie an Vorgängerzeilen.

    Man kann es so einstellen, dass es die Klammern in eigene Zeilen schubst, an Vorgängerzeilen klebt oder die Klammern in Ruhe lässt.

    Dumme Frage: Wo (VS 2008)?



  • volkard schrieb:

    David W schrieb:

    PS. mit ALT+Pfeiltasten kann man die Aktuelle Zeile mit der darunter oder darüber tauschen (Cursor wandert mit) so kann man auch schnell Zeilen verschieben.

    Supi Idee! Das will ich auch haben.

    http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef/
    "Move Line Up/Down Commands"



  • GPC schrieb:

    ... Übrigens gibt es sowohl in vi als auch in emacs (wenn wir von Linux reden) effizientere Tastenkombos, um auszuschneiden, sich zu bewegen und wieder einzufügen...

    Ja, aber vielleicht sind sie gleichzeitig auch deren Nachteil - man denkt nicht mehr über den Code nach - merke ich bei mir ab und zu. Die Kommandos lassen sich automatisieren und so habe ich plötzlich aus einer Header-Datei 200 Definitionen kopiert und daraus, ohne großartig nachzudenken, ein switch mit 200 cases halbautomatisch generiert, natürlich alle nach meinem Lieblingsstil. D.h. aus diesem Code:

    #define SOME_DEFINITION_0    0x1234u
    #define SOME_DEFINITION_1    0xAAAAu
    #define SOME_DEFINITION_2    0xDEAEu
    ...
    #define SOME_DEFINITION_200  0xDEADu
    

    hat man sich bequem so was hier generiert:

    switch (value)
        {
            case SOME_DEIFINITION_0:
                {
                    break;
                }
                /* ab hier etwa 200 weitere cases halb automatisch mit meinem Lieblingseditor generiert */
            default:
                {
                    break;
                }   
        }
    

    Wer will so was noch freiwillig warten...



  • Michael E. schrieb:

    GPC schrieb:

    volkard schrieb:

    Eisflamme schrieb:

    Das macht ihn ja trotzdem nicht besser. Oder war deine Aussage, dass dieser Stil automatisch von der IDE auf dauer ausgerottet wird?

    Nö. Wenn ich mich recht erinnere, läßt MSVC beide Stile zu. Es rückt nur ein, schubst aber keine Klammern in eigene Zeilen oder klebt sie an Vorgängerzeilen.

    Man kann es so einstellen, dass es die Klammern in eigene Zeilen schubst, an Vorgängerzeilen klebt oder die Klammern in Ruhe lässt.

    Dumme Frage: Wo (VS 2008)?

    Sorry mein Freund, leider nur für C# 😢

    Edit: Die Productivity-Tools sollte aber wirklich jeder haben, die sind super 🙂



  • Sehe ich das richtig, diese Productivity Tools sind auch von Microsoft? Warum baut man sie denn nicht direkt in MS Visual Studio ein 😕



  • Weiß ich auch nicht genau, ich kann mir aber vorstellen das damit auch experimentiert wird was die Customer wollen, sodass features davon in den nächsten release einfließt.
    Genauso wurdes (wirds?) auch mit dem WPFToolkit gemacht.

    Die vorteile es über ein Plugin zu lösen:
    - Man kann leicher Patchen,
    - Es muss nicht bei jeden Stabil sein, es kann auch deinstalliert werden als fallback



  • Da ich nicht nur in C artigen Sprachen programmiere, ist die öffnenden Klammern in einer separaten Zeile einfach nur Bloat, die einzige Ausnahme ist es, wenn Funktionsdefinitionen umgebrochen werden müssen.

    Glühbirne schrieb:

    Mir ist Lesbarkeit am wichtigsten, danach der Platz. In der Praxis sieht das so aus:

    int main()
    {
        int a=3;b=5;
        for(int i=0;i<b;i++)
        {
            if(a--)
                break;
            else
            {
                a++;
                b--;
            }
        }
        return 0;
    }
    

    Die Einrückung ist als Markierung der Schachtelungstiefe ausreichend. Python macht es vor, daß das vollkommen ausreichend ist.

    int main() {
        int a = 3;
        int b = 5;
    
        for (int i = 0; i < b; ++i) {
            if (0 == a) {
                break;
            } else {
                --a;
            }
        }
    }
    


  • dir ist "lesbarkeit wichtig" aber du schreibst sowas:

    if(a--) 
                break; 
            else 
            { 
                a++; 
                b--; 
            }
    

    😕 😕 😕 😕



  • BierzeltOmi schrieb:

    dir ist "lesbarkeit wichtig" aber du schreibst sowas:

    Richtig zitieren!


Anmelden zum Antworten