IF-Als Designe Fehler

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 48 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    Facebamm schrieb:

    es geht wirklich um das If-Statement
    ?? Was jetzt?

    Facebamm schrieb:

    IF-Statement
    und

    Facebamm schrieb:

    Switch-Case-Statement.
    sind zwei unterschiedliche Sachen (sind zwar beides Kontrollstrukturen, jedoch hast mit If (grundsätzlich mal eine ein- bis zweifache Auswahl (if...then...else), switch case jedoch bietet dir im Prinzip unendlich (+1) viele Abfragefälle (+1 ist das default).

    Acr0most schrieb:

    In PHP bspw. kannst du "das IF weglassen":
    Kann man in C# auch ;D
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Glaub das ist was für dich:
    cirillocompany.de/pages/anti-if-campaign

    Grundsätzlich sollte man in OOP schon versuchen wenig If zu verwenden. Aber zu sagen IF zu verwenden ist ein genereller Design Fehler halte ich für schlicht weg falsch.
    Das ist meine Signatur und sie wird wunderbar sein!
    Ach soooo....Also geht es dem Author nur darum, dass die Programmierer eine Methode nicht auf Basis eines Typs programmieren (also der Rückgabewert vom Typen (einer Variable) abhängt), sondern, dass man jedem Typen selber überlässt, was er zurück gibt.

    In dem Beispiel, dass Bird die (abstrakte) Methode ​getSpeed implementiert und man nicht in der Bird Klasse auf den tatsächlichen Typen prüft und das Ergebnis (die Geschwindigkeit) liefert, sondern, dass jede Ableitung von ​Bird die Methode ​getSpeed selber implementiert.

    Um deine Frage zu beantworten: Meiner Meinung nach ist das besagte Pattern ist nicht immer sinnvoll, da es einem die Wartbarkeit des Codes erschwert. Verkompliziert halt den Code, bei Änderungen musst du dann nicht mehr an einer (zentralen Stelle -> Bird Klasse) die Berechnung ändern, sondern in jede Subklasse (und Subsubklasse) gehen und dort jeweils den Code ändern. Das Pattern kann sinnvoll sein, aber ist es nicht immer.

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Man muss dazu sagen, die Factory ist schon recht einfach gehalten, also wer das nicht selbst hinbekommt sollte sich so wieso erst mal programmieren lernen :D
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---