Vermeidung von doppelten Code

Bullz

Enthusiast
Thread Starter
Mitglied seit
12.12.2006
Beiträge
1.905
Hallo, Source Code sagt ja bekanntlich mehr wie 1000 Wörter.

Habe eine Variable bVar die entweder an dieser Stelle true / false sein kann.


Code:
Bool bVar = true | false
if (Bool == 1) {
if (bedingungen1 && bedingungen2)
//Anweisungsblock 10 Zeilen lang
} else {
if (bedingungen1) // ist die exakt gleiche wie die bedingungen1 von oben.
//Gleicher Anweisungsblock wie oben 10 Zeilen lang
}
So habe ich es implementiert und es funktioniert. Habe aber 2 mal den gleichen Code. Wie bekomme ich das schöner hin ohne den gleichen Code 2 mal verwenden zu müssen ?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
If bedingung 1 oder 2...
Logisches oder sollte es eigentlich in jeder programmiersprache geben.

Soll die anweisung ausgeführt werden wenn bedingung 1 oder 2 wahr ist?
 
Erstmal nochmal dein Orginal etwas besser formatiert:

Code:
Bool bVar = true | false
if (Bool == 1) 
{
	if (bedingungen1 && bedingungen2)
		//Anweisungsblock 10 Zeilen lang
} 
else {
	if (bedingungen1) // ist die exakt gleiche wie die bedingungen1 von oben.
		//Gleicher Anweisungsblock wie oben 10 Zeilen lang
}

Damit wird dann auch ersichtlich was das für ein else Zweig ist. Daraus kann man schonmal folgendes machen.

Code:
Bool bVar = true | false
if ((Bool == 1 && bedingungen1 && bedingungen2) || (Bool != 1 && bedingungen1)
		//Anweisungsblock 10 Zeilen lang

Das ist aber noch nicht alles. Besser wäre folgendes.

Code:
Bool bVar = true | false
if (bedingungen1 && ((Bool == 1 && bedingungen2) || (Bool != 1))
		//Anweisungsblock 10 Zeilen lang

PS: Da ich nicht weiß was bVar sein soll, habe ich Bool und dessen Prüfungen einfach aus deinem Beispiel übernommen. Sollte es eine Boolean Variable sein, solltest du die Prüfung etwas umschreiben.
 
Je nachdem was der Code macht könnte es auch sinnvoll sein ihn in eine eigene Methode zu verpacken. Dann kann man ihn evtl. auch an anderen Stellen des Projekts "recyclen".
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh