Verbesserungsvorschläge für Code
-
@wob sagte in Verbesserungsvorschläge für Code:
@It0101 sagte in Verbesserungsvorschläge für Code:
Private Member, Konstruktor, Getter. Copy-Construktor
Ich halte es da lieber einfach mit einer struct und 2 öffentlicher Member. Sehe da keinen Vorteil einer Klasse. Und warum nicht POINT nutzen? Wozu eine eigene Klasse?
Das POINT ist doch keine Klasse, oder? Ich mag Klassen
Ich bin tatsächlich kein großer Freund der WINAPI. Zuviel C. Daher versuche ich so wenig wie möglich davon zu nutzen.
-
@wob ahhhhhh. So ist das also. Gut, dann baue ichs morgen nochmal um
@It0101 mal abseits davon, dass es ja wie @wob gesagt hat eine POINT Klasse gibt, wäre es nicht zuviel Overhead wegen den 3-4 mal so es vorkommt gleich ne Klasse mit Methoden etc. zu bauen? Deshalb hatte ich mich für ein struct entschieden.
-
@Zhavok Ist Geschmacksache. Ich denke in dem Fall ist beides gleichwertig.
Ich finde halt
POINT p; p.x = 1; p.y = 1; functionCall( p );
nicht so schön wie
functionCall( MyPoint( 1, 1 ) );
-
@It0101 Du kannst geschwungene Klammern benutzen.
-
@wob sagte in Verbesserungsvorschläge für Code:
@It0101 Du kannst geschwungene Klammern benutzen.
Ach ja stimmt... Egal!
-
@It0101 sagte in Verbesserungsvorschläge für Code:
@Zhavok Ist Geschmacksache. Ich denke in dem Fall ist beides gleichwertig.
Ich finde halt [..] nicht so schön wie [...]
ich wär' für 'ne Hall of Fame für soetwas ;p Schade, daß es TGGCs Helden nicht mehr gibt
-
@It0101
In dem Fall, dassPOINT{ x, y }
nicht funktioniert könnte man immer noch sowas wiePOINT make_point( LONG x, LONG y ) { POINT retval; retval.x = x; retval.y = y; return retval; }
machen. Meiner Erfahrung nach fährt man oft besser mit den bestehenden Typen der API, die man benutzt, weil man sie doch häufiger braucht, als man denkt. Früher oder später muss man sie doch konvertieren, das nervt irgendwann
-
-
??
-
@DocShoe sagte in Verbesserungsvorschläge für Code:
??
Meine Denke ist halt: wenn man sich extra ne Funktion baut, die zwei ints in ein Point verfrachtet, kann man auch gleich ne Klasse mit nem Konstruktor bauen...
-
@It0101 Dann denken wir anders. Ich sehe keinen einzigen Vorteil der eigenen Klasse außer deine Denke glücklich zu machen.
-
@wob sagte in Verbesserungsvorschläge für Code:
@It0101 Dann denken wir anders. Ich sehe keinen einzigen Vorteil der eigenen Klasse außer deine Denke glücklich zu machen.
Aber einen Vorteil des structs oder der vordefinierten POINT-Struktur konnte auch niemand nennen. Es ist halt einfach Geschmackssache
-
Ein Problem bei zu vielen Point-Klassen, das ich mir gut vorstellen kann, sind Namenskonflikte (wenn keine namespaces genutzt werden).
Ich würde aber vermutlich tatsächlich selbst auch ein eigenes struct anlegen mit x, y als public member und ggf. einem Cast-Operator in POINT. Einen ctor kann man ja sonst auch schreiben. Nur getter/setter würde ich dabei definitiv weglassen, da es einfach überflüssig ist.
Die make_point-Funktion finde ich auch eine unnötig komplizierte Lösung. Dann lieber einfach eine Wrapper-Klasse oder so.
-
@DocShoe sagte in Verbesserungsvorschläge für Code:
In dem Fall, dass POINT{ x, y } nicht funktioniert
würde ich dringend den Compiler aktualisieren.
-
Vielen Dank nochmal für eure Tipps. Ich denke wenn ich hier alles berücksichtige, kann ich ruhig schlafen. Außerdem hab ich wieder viel dazu gelernt.