Ein Universallösung gibt es nicht - in keiner Programmiersprache.
Aber es gibt bestimmte Lösungswege:
1.) wann immer möglich, die Funktionen der
VCL &
RTL benützen um daraus etwas Grösseres aufzubauen
2.) mehrfach benötigten Code in eigene Units auslagern - ganz besonderns dann, wenn man den Code auch in anderen Anwendungen brauchen könnte
3.) Objekt-orientiert Programmieren! ermöglicht die Wiederverwendung von Code
4.) Funktionen in Funktionen schachteln. Das ist eine Besonderheit von Pascal & Delphi, dass man in einer Funktion/Procedure eigene Hilfsfunktionen deklarieren kann.
Dies stellt auch einen teilweisen Ersatz der aus C/C++ bekannten Makros dar.
Delphi-Quellcode:
procedure BerechneIrgendWas(a, b : double);
var
h10proz, h90proz : double;
function Unterberechnung(x:double):double;
begin
result := a * x + (1-x) * b; // Zugriff auf die Variablen der umschl. Prozedure
end;
begin
h10proz := Unterberechnung(0.1);
h90proz := Unterberechnung(0.9);
Das ist auch ein Ersatz für die gerade eben vorgeschlagenen Refinements.
Aber VORSICHT: nicht zu viel in eine Funktion/Procedure packen, sonst wird's unübersichtlich
5.) externe Biblitheken verwenden; nicht immer das
Rad neu erfinden!!
sehr empfehlenswert ist die JCL:
http://sourceforge.net/projects/jcl/