Ja das Problem ist auch mir vertraut man hat eine Funktion und muss diese erweitern, was aber nicht wirklich gut geht. Ein Lösungsansatz wäre irgendwelche Flags als Globalevariable zubenutzen, doch damit geht die Codequalität sicherlich den Bach runter. Besser aus meiner Sicht, man schreibt eine Klasse, so dass man mit Objekte arbeiten kann, die man über Properties erweitert oder besser durch Ableitungen anpasst, also Ändern nur durch erweitern. Damit brauch man nicht permanent „alten“ Code dauern umstellen, wenn man etwas Neues ausprobieren Möchte. Der Code kann übersichtlicher werden, man muss dafür am Anfang etwas mehr Zeit investieren wo von später aber profitiert.
Code:
type
TBasisFunktion = class
protected
FCommonResult: TCommonResult
procedure Basic(ParamterXY);
end;
type
TStandardVariante = class(TBasisFunktion)
public
function StandardVariante(..):..
end:
type
TErweiterteVariante = class(TBasisFunktion)
public
function ErweiterteVariante(..):..
end: