Ja/Nein Entscheidung in Programmen
-
hi
mein programm muss gerade viele ja/nein entscheidungen treffen, also so:
if(bedingung)
{
if(bedingung2)
{
funktion1();
}
else
{
...
}
}
else
{
if(bedingung3)
{
...
}
else
{
...
}
}die verschiedenen ja/nein entscheidungen haben also nichts miteinander zu tun, sondern sind getrennt voneinander. außerdem ist es unwichtig für funktion1, warum sie aufgerufen wird und nicht funktion2 (beispiel).
allerdings ist mir das zu blöd, jede möglichkeit durch schachteln zu kontrollieren. geht das nicht auch ohne schachteln? z.b. mit einer funktion, die sich die bedingung anguckt und dann weiß wo es weitergeht?mfg timo
-
case?
-
timoh schrieb:
die verschiedenen ja/nein entscheidungen haben also nichts miteinander zu tun, sondern sind getrennt voneinander.
Wenn die Bedingungen wirklich nichts miteinander zu tun haben, wirst du schlechte Karten haben.
switch/case wäre geeignet wenn du über einen Wert entscheiden kannst. Ebenso kann Kontextabhängig auch eine andere Designentscheidung (Strategiemuster etc.), verwendung von Funktionszeigern in Containern etc. helfen.
Ohne nähere Informationen kann ich aber nichts anderes sagen.
-
asc schrieb:
timoh schrieb:
die verschiedenen ja/nein entscheidungen haben also nichts miteinander zu tun, sondern sind getrennt voneinander.
Wenn die Bedingungen wirklich nichts miteinander zu tun haben, wirst du schlechte Karten haben.
switch/case wäre geeignet wenn du über einen Wert entscheiden kannst. Ebenso kann Kontextabhängig auch eine andere Designentscheidung (Strategiemuster etc.), verwendung von Funktionszeigern in Containern etc. helfen.
Ohne nähere Informationen kann ich aber nichts anderes sagen.
also es geht um ein netzwerkprogramm. ich empfange daten und parse das packet. wenn das packet ungültig ist, verwerfe ich es. ist es gültig, schicke ich es weiter. wenn das weiterschicken klappt, warte ich auf das nächste packet. ansonsten schicke ich eine fehlermeldung. das muss aber nicht klappen. naja, und so weiter...
es geht darum, dass ich eben vorher schon genau weiß, wie ich reagieren muss.
mfg
timo
-
Mit ein wenig Abstraktion sollte das doch kein Problem sein
Wenn du konkreten Code hast, zeig her, da kann man sicherlich was drehen.