Man darf aber durchaus boolsche
Zwischenvariablen verwenden; die sind nicht so "schwergewichtig" wie Funktionsaufrufe.
Hier ein kleines konstruiertes Beispiel.
Delphi-Quellcode:
var
erwachsen, HasAMobile : boolean;
begin
erwachsen := (Person.Age >= 18);
HasAMobile := StrIsOneOf(Person.Phone.Vorwahl, ['170', '172', ...]) and (Person.Phone.CountryPrefix = 49);
if erwachsen and HasAMobile and (Person.Gender='W') then
ShowMessage('Frau über 18 mit Handy');
Auf diese Weise kann man komplexe If-Bedinungen entschärfen und lesbarer machen.
Mit dem Debugger kann man schön die einzelnen Teilbedingungen anschauen!!
Was nützt es denn, wenn man eine If-Bedingung mit 10 komplexen Teilbedingung
scheinbar supergut formatiert aber man findet den Logikfehler nicht weil man
die vielen Einzelbedingung nicht komplett versteht (oder vor lauter Bäumen den Wald nicht sieht) .
Und bitte sag' jetzt niemand die paar Taktzyklen für die Zwischenvariablen würde sich an der Geschwindigkeit bemerkbar machen.