Stil der Klammern unwichtig?



  • Weil andere seine Meinung interessiert ;).



  • Sone schrieb:

    Ausrichten ist übrigens mein täglich Brot, das muss ich so oft machen...
    Wo ich gerade schon einen Screenshot habe: http://s14.directupload.net/images/130907/7p9iwsld.png

    Vielleicht wäre das was für dich:
    http://clang.llvm.org/docs/ClangFormat.html

    ps: Es gibt übrigens mittlerweise nen offiziellen Windows Build von Clang. Der enthält ein Plugin für VS das u.a. auch Clang-Format "kann". Ist zwar alles noch Alpha, aber ich bin schonmal sehr erfreut dass Windows als Plattform nicht länger ignoriert wird.
    Wenn sie den MSVC ABI Support noch komplett bekommen, dann gibt es vielleicht bald mal eine ernstzunehmende Alternative zu MSVC...

    http://llvm.org/builds/



  • @Gregor
    Mir ist halbwegs klar was du und einige (viele?) andere darunter verstehen. Mir ist nur nicht klar warum man immer darauf hinweisen muss dass das was manche (viele?) andere darunter verstehen die falsche Auslegung ist.

    Ich kann mit beiden Definitionen leben - vor allem wenn aus dem Kontext klar ist welche der beiden gerade gemeint ist.

    Ich persönlich verwende auch das Wort "Stil" für beides - also sowohl für das was man auch als "Formatierung" bezeichnen kann, wie auch für minimal "höher-levelige" (greislicher Anglizismus, mir fällt aber gerade nix besseres ein) Dinge wie om man über nen vector mit nem Iterator oder Index drübergeht, ob man RAII verwendet oder haufenweise new/delete do/undo schreibt etc.



  • hustbaer schrieb:

    Sone schrieb:

    Ausrichten ist übrigens mein täglich Brot, das muss ich so oft machen...
    Wo ich gerade schon einen Screenshot habe: http://s14.directupload.net/images/130907/7p9iwsld.png

    Vielleicht wäre das was für dich:
    http://clang.llvm.org/docs/ClangFormat.html

    Hmm. Ich nutze CodeBlocks. Vielleicht... muss man dafür ein Plugin schreiben...



  • hustbaer schrieb:

    BTW: Erst schreibst du dass das alles unwichtig ist, und dann kommst du mit Dingen die dir auf einmal doch wichtig sind. Ich glaube du bist diesbezüglich etwas verwirrt.

    Nein. Du siehst das "unbedeutend" im falschen Kontext. Natürlich macht es für mich einen Unterschied, wie der Code eingerückt ist. Ich kann Code in meinem Stil besser lesen als fremde Stile. Das ist natürlich. Wenn es mal nicht gehen sollte, haue ich aber astyle drüber - mich nervts halt nur, das zu machen, eben wegen der von Bashar genannten whitespace checkins ins SVN.

    Was ich aber niemals tun würde, ist deswegen einen heiligen Krieg anzuzetteln oder Guidelines zu verabschieden etc. Bei Einrückungen gibt es kein "richtig oder falsch". Nur ein "finde ich gut" oder "finde ich nicht so gut". Problematisch wird es erst, wenn jemand guidelines versucht durchzudrücken, die mir das Leben schwer machen - zum Beispiel die genannten 2-Leerzeichen-statt-tab-einrücker(okay, mir fällt gerade auch kein anderes Beispiel ein).



  • otze schrieb:

    hustbaer schrieb:

    BTW: Erst schreibst du dass das alles unwichtig ist, und dann kommst du mit Dingen die dir auf einmal doch wichtig sind. Ich glaube du bist diesbezüglich etwas verwirrt.

    Nein. Du siehst das "unbedeutend" im falschen Kontext.

    Vielleicht schreibst du es im falschen Kontext?

    Was ich aber niemals tun würde, ist deswegen einen heiligen Krieg anzuzetteln oder Guidelines zu verabschieden etc. Bei Einrückungen gibt es kein "richtig oder falsch". Nur ein "finde ich gut" oder "finde ich nicht so gut". Problematisch wird es erst, wenn jemand guidelines versucht durchzudrücken, die mir das Leben schwer machen - zum Beispiel die genannten 2-Leerzeichen-statt-tab-einrücker(okay, mir fällt gerade auch kein anderes Beispiel ein).

    Coding-Guidelines und deren Durchsetzung sind aber nötig wenn man irgendwie sinnvoll gemeinsam an einem Projekt arbeiten will.
    Dauernd "astyle drüberhauen" ist nämlich keine Lösung -- das kann ich nur als schlechten Scherz durchgehen lassen.



  • hustbaer schrieb:

    Mir ist halbwegs klar was du und einige (viele?) andere darunter verstehen. Mir ist nur nicht klar warum man immer darauf hinweisen muss dass das was manche (viele?) andere darunter verstehen die falsche Auslegung ist.

    Wenn ich sage, dass ich die Nutzung des Begriffs "Stil" für die Klammersetzung lustig finde, dann ist das bei mir so eine Art Galgenhumor, der auf jahrelanger Enttäuschung basiert. Es kommt durchaus häufiger mal vor, dass in einem Threadtitel von "Progmmierstil", "Stil" oder ähnlichem die Rede ist. Ich denke mir dann immer "Oh, das könnte eine interessante Diskussion sein". Dann klicke ich da drauf und finde etwas wie das da oder das da. ...also nur wieder irgendeine langweilige Formatierungsfrage. Ich glaube auch, dass das nicht nur mir so geht. Bei einer der verlinkten Diskussionen ist zum Beispiel Bashar auf die Verwendung dieses Begriffs angesprungen.

    ...ok, ich muss zugeben, dass bei diesem Thread aus dem Titel hervorgeht, um was es sich handelt.



  • OK, das kann ich nachvollziehen/verstehen.

    Wo ich dann nicht mehr mit kann, ist wenn in solchen Threads dann Leute auftauchen die sich darüber lustig machen wie das Wort "Stil" dort verwendet wird, bzw. den anderen Diskussionsteilnehmern einreden wollen dass sie das Wort "Stil" falsch verwenden, und darauf bestehen dass ihre Interpretation die einzig richtige ist.

    Oder gar so tun als hätten sie nicht verstanden worum es dem OP geht.

    Ich meine, auch in den beiden von dir verlinkten Threads geht aus dem Kopfbeitrag klar hervor worum es geht.

    Wenn man enttäuscht ist dass es "wieder nur ein Formatierungs-Thread" ist, dann kann man ja einfach "Ach schade, hier geht's ja wieder nur um Formatierung" rein posten -- dadurch würde sich kaum wer gestört fühlen.

    Bzw. Vorschlag: mach selbst einen "deiner" Stil-Threads auf 🙂



  • hustbaer schrieb:

    Oder gar so tun als hätten sie nicht verstanden worum es dem OP geht.

    Hmmm... vielleicht kannst Du mir auf die Sprünge helfen...

    Scorcher24 schrieb:

    https://twitter.com/ID_AA_Carmack/status/376207435544813568

    John Carmack @ID_AA_Carmack
    I am conceding brace style to the existing Oculus code. Everyone was expecting a holy war, but it just isn't that important.

    Der Meister hat gesprochen.
    Was nun? Keine Flamewars mehr?
    K&R oder gtfo?

    Worum genau geht es dem OP denn zum Beispiel in diesem Thread? Ich lese da, dass der OP gerne einen Flamewar sehen würde. 😉 Ist das eine Fehlinterpretation?



  • So a bissl was von allem ;).
    Fand den Tweet nur lustig. Und was ihr draus gemacht habt.



  • @Gregor
    OK. Worum es ihm geht ist wohl nicht so klar. Aber es ist ziemlich klar dass es nicht um irgendwelche high-level Dinge geht.



  • dot schrieb:

    Das Problem mit den Tabs ist halt, dass es eben nur funktioniert, solange man nirgendwo jemals irgendwas ausrichten möchte...

    Random example:

    file << "name;cc_major;cc_minor;num_multiprocessors;warp_size;max_threads_per_mp;max_threads_per_block;regs_per_block;shared_memory;constant_memory;global_memory;clock_rate\n"
             << prop.name << ';'
             << prop.major << ';'
             << prop.minor << ';'
             << prop.multiProcessorCount << ';'
             << prop.warpSize << ';'
             << prop.maxThreadsPerMultiProcessor << ';'
             << prop.maxThreadsPerBlock << ';'
             << prop.regsPerBlock << ';'
             << prop.sharedMemPerBlock << ';'
             << prop.totalConstMem << ';'
             << prop.totalGlobalMem << ';'
             << prop.clockRate * 1000 << '\n'
             << std::endl;
    

    Wenn man Tabs will oder der Code von Aliens mit anderer Einrückungskultur oder den Verrückten, die Proportionalschriftarten haben verwendet werden können soll, kann man das auch so machen:

    file
             << "name;cc_major;cc_minor;num_multiprocessors;warp_size;max_threads_per_mp;max_threads_per_block;regs_per_block;shared_memory;constant_memory;global_memory;clock_rate\n"
             << prop.name << ';'
             << prop.major << ';'
             << prop.minor << ';'
             << prop.multiProcessorCount << ';'
             << prop.warpSize << ';'
             << prop.maxThreadsPerMultiProcessor << ';'
             << prop.maxThreadsPerBlock << ';'
             << prop.regsPerBlock << ';'
             << prop.sharedMemPerBlock << ';'
             << prop.totalConstMem << ';'
             << prop.totalGlobalMem << ';'
             << prop.clockRate * 1000 << '\n'
             << std::endl;
    

    So ist das portabel ohne Ende. 🙂



  • Kellerautomat schrieb:

    Sobald ClangIDE fertig ist, ist das alles kein Problem mehr.

    http://clang.llvm.org/docs/ClangFormat.html

    Btw. An den Sones Screenshots sehe ich, dass keine Whitespaces anzeigen werden. Beim Schreiben eines Makefiles unerlaesslich. Ich lasse sie mir auch in VS anzeigen um meine Einrueckung zu ueberpruefen. Sinnvoll?



  • Beim Schreiben eines Makefiles unerlaesslich

    Ich habe noch nie eine Makefile geschrieben oder musste es je tun. CodeBlocks hat ein eigenes Build-System das gut funktioniert.



  • Die Frage ist: Wer laesst sich white spaces in einer IDE beim Programmieren anzeigen?



  • knivil schrieb:

    Die Frage ist: Wer laesst sich white spaces in einer IDE beim Programmieren anzeigen?

    Mach ich schon, allein schon Aufgrund der von dir genannten makefile Problematik und wegen der bei uns geltenden Coding Styles. Da sieht man gleich obs passt oder nicht...



  • knivil schrieb:

    Die Frage ist: Wer laesst sich white spaces in einer IDE beim Programmieren anzeigen?

    Wie meinst du das, "Anzeigen"? Laesst du bei dir alle Whitespaces verstecken?



  • Whitespaces werden gesondert hervorgehoben, bspw: → fuer Tabs und '.' fuer Leerzeichen (Farbe Hellblau). Wie unterscheidest du denn Tabs von Leerzeichen? Btw. ich finde Leerzeichen am Ende einer Codezeile als haesslich.



  • Ich zeige mir auch keine Leerzeichen gesondert an (nervt mich auch, wenn Leute bei Word dies aktiviert haben). Und überflüssige Leerzeichen am Ende von Zeilen lasse ich mit dem RegEx ":b+$" projektweit löschen (im VS).



  • knivil schrieb:

    Whitespaces werden gesondert hervorgehoben, bspw: → fuer Tabs und '.' fuer Leerzeichen (Farbe Hellblau). Wie unterscheidest du denn Tabs von Leerzeichen?

    Das meint ihr! Ich lasse sie nicht gesondert hervorheben... wieso sollte ich?

    Btw. ich finde Leerzeichen am Ende einer Codezeile als haesslich.

    Ich auch. Jeder findet das.


Anmelden zum Antworten