Gibt es eigentlich ein Styleguide oder ein "best practice" für die Anordnung von Parametern?
Best Practice hab ich noch nicht gesehen...
Aber ich habe meine eigenen Regeln und daran halte ich mich...
AOwner / AParent 1. Parameter wenn es beide gibt Owner first.
Letzter Parameter (Wenn nicht default Parameter) dann ist es die Proc<T>
Out Parameter so weit nach hinten wie es geht.
Ansonsten
Reihenfolge gemäß Datengröße (Nicht unbedingt die eigentlich) Selbst wenn ein TObject nur ein Pointer ist und ein String ggf. als Daten übergeben werden...
TObject, String, Integer, Boolean // Da die Strings, Integer und Booleans i.d.R. die Kontrolle über die
Verwendung von TObject regeln..
Ausnahmen: Selecting String, selecting Interfaces Beispiel:
Procedure Foo(AKunde : TKunde; AInvoce : TProc<TKunden>;Const SaveWhere : String);
oder
Procedure Foo(AKunde : TKunde; ASaveLogic : ICanSaveKunden);
Aufruf:
Delphi-Quellcode:
begin
if RESTServer
then begin
Foo(LKunde,Procedure (AKunde : TKunden)
begin
AKunde.LastUser := AktUser;
AKunde.Compress;
end,'SaveAsJason');
end
else begin
Foo(LKunde,Procedure (AKunde : TKunden)
begin
AKunde.LastUser := AktUser;
AKunde.DataFormat := AktDoc2XML;
end,'SaveAsStream');
end;
end;
oder
Delphi-Quellcode:
var
SaveAs : String;
begin
if RESTServer
then SaveAs := 'SaveAsJson'
else SaveAs := 'SaveAsStream';
Foo(LKunde,TAnyFactory.Default.CreateObj<ICanSaveKunden>(SaveAs));
end;
Mavarik