Konstruktive Kritik erwünscht



  • Das checkt hier sowieso fast keiner. Und die die es vielleicht tun könnten, nehmen sich mit Sicherheit nicht die Zeit dazu.



  • ness schrieb:

    Ich habe eine generische multidispatcher Klasse, basierend auf automatisch generierten if-else Abfragen geschrieben.

    naja, dann mache ich lieber sowas:

    map<string, handler> m;
    
    m[ typeid(klasse1).name() + typeid(klasse2).name() ] = handler;
    

    usw.



  • DrGreenthumb schrieb:

    naja, dann mache ich lieber sowas:

    C/C++ Code:
    map<string, handler> m;

    m[ typeid(klasse1).name() + typeid(klasse2).name() ] = handler;

    usw.

    Das nehm ich dann automatisiert als nächstes in Angriff (Erst mal die index-basierte Variante...) 😃
    /edit: Du weißt dass nicht garantiert wird, dass typeid(...).name() im Verlauf des Programmes gleich bleibt?
    /nochmaledit: Manuell stell ich mir da übrigens schon triple-dispatching kompliziert vor...

    Humer schrieb:

    Das checkt hier sowieso fast keiner. Und die die es vielleicht tun könnten, nehmen sich mit Sicherheit nicht die Zeit dazu.

    a)Es geht doch gar nicht nur um die implementation. Mir geht es auch darum ob jemand was zum Design zu sagen hat oder offensichtliche Anfängerfehler enthalten sind.
    Das ist die erste brauchbare Klasse die ich zur vollendung gebracht habe!

    b)Aussprüche ala das Versteh ich eh nicht hasse ich. Das darf ich mir täglich in der Schule anhören, wo ich mehr oder weniger als "wunderkind" bekannt bin. Und das ist ganz gewiss nicht Witzig.

    c)Woher willst du wissen das sich niemand Zeit nimmt? (OK, so unbrechtigt ist der Einwand nun auch wieder nicht...)



  • BITTE! Es kann doch nicht sein, das niemand was dazu sagen möchte? 😞



  • ness schrieb:

    BITTE! Es kann doch nicht sein, das niemand was dazu sagen möchte? 😞

    Humer hat irgendwie Recht 😕

    Ach ja, nimm mal "!Ein Anfänger!" aus deiner Signatur 🙄 😃 😉



  • Der Thread ist gerade mal 4 Stunden alt, und du hast ihn schon zweimal gebumped? Ein bisschen ungeduldig, nicht?

    Wahrscheinlich schau ich's mir irgendwann mal an, aber das ist bei diesem Umfang eine längerfristige Sache.



  • Warum? Es entspricht doch der Wahrheit? Ich hab mich am 16.07.2004 angemeldet, das ist etwa 3 Tage nachdem ich mit volkards Tut angefangen hab. C++ lerne ich also seit ca. 5 Monaten. Hm... irgendwie doch länger als mir vorkommt... Was du vor dir siehst ist die erste vollendete sinnvolle Klasse von mir. OK, ich machs weg, jetzt wo ich drüber nachdenk...
    @Ringding: Ja, das wär net. Und, ja, ungeduldig. (sehr 😃 )



  • ich hab mir das ganze erstmal so angeschaut:

    was ich so auf den ersten blick sehe, ist ein einfacher double dispatching algorithmus, der die üblichen schwächen aufweist: zu viel code, zu schlecht wartbar, und mit linearer suchzeit(+dynamic cast en masse). dazu kommt noch, dass ohne entsprechende docu die template parameter für den static dispatcher selber unüberblickbar sind



  • Ich sag ja, er baut auf statisch generierten if-else Anweisungen auf, also nur eine automatisierung der rohen, fehlerträchtigen standard-implementierung. Wie meinst du das mit dem primitiven algorhithmus? Bekannt wären mir nurnoch dynamische Strukturnen, das habe ich auch noch vor...
    Zu der Sache der Wartbarkeit: ja damit hast du recht, aber wie das ändern?
    Übrigens: Das ist KEIN double-dispatching Algorithmus, sondern eine generalisierung des multidispatching (Daher auch die partielle Spezialisierung für die letzte Ebene)
    /edit für otzes Edit: Ja, dafür muss ein Stück doku her... (morgen)



  • @ness: wenn du positive kritik willst, darfste net so angeben. Wenn du natürlich fertig gemacht werden willst, nur weiter so! 😉



  • @life: Einerseits nützt positive Kritik nat. wenig... 😃 Aber vmtl. hast du Recht... *immerwiederfeststellwiekompliziertdieweltdochist*



  • ich bezweifel irgendwie, dass du hier konstruktive kritik bekommen wirst oo



  • ness, wie wäre es mal wenn du was sinnvolles programmierst?



  • ness geh damit lieber auch auf sourceforge oder codeguru wenn du willst das sich ein paar leute dein ganzes projekt anschaun obwohl das hier sicher auch manche machen wenn sie halt Zeit haben 🙂

    wegem dem projekt selbst, ich finde die makros am anfang nicht so elegant
    etwas unübersichtlich sonst aber was ich so beim Überfliegen gesehen hab (also nur mal das Konstrukt) sieht gut aus auch das codestyling

    #c++ @ freenode.net



  • was kann man damit anfangen? braucht man das? 😕 😮



  • @ness schrieb:

    braucht man das? 😕 😮

    in der Praxis natürlich nicht



  • Ich bin jetyt kein so grosser cpp-kenner und habs nur mal kury ueberflogen drum eine Frage: Was yum geier macht das ding byw. was kann man damit machen?

    MFG eiskalt



  • Weil die Frage was man damit machen kann mehrmals kan:
    a) siehe mein 1. post, ganz unten.
    b) das ist ein generischer multi dispatcher.
    Allgemein gesehen simuliert er virtuelle Funktionen anhand einer beliebigen Argumentzahl...
    /edit: Erklärung für die template-Parameter hinzugefügt



  • b) das ist ein generischer double dispatcher.

    grad hast du mir noch erklärt, dass es ein generischer multi dispatcher ist 😃



  • otze schrieb:

    b) das ist ein generischer double dispatcher.

    grad hast du mir noch erklärt, dass es ein generischer multi dispatcher ist 😃

    Ist es ja auch 😃
    Achja: mit der Erklärung zu den Parametern: verständlich so?


Anmelden zum Antworten