ik wrote 8 lines
Hello,
Let's say I have a function that some of it's code (or all) can be used
in more then one location inside the function itself.
I can make a nested function with the code and set it to inline, make it
normal, or make a recursion with it.
What's the best practice in your opinion to take, and why ?
Recursion won't help you here, because recursion is something like the following:
function factorial(aValue: LongInt): LongInt;
begin
if aValue <= 1 then
Result := 1
else
Result := factorial(aValue - 1) * aValue;
end;
Whether you inline the function or not depends on whether it's a complex function or not. Something like
function foo(aValue: LongInt): LongInt;
begin
Result := aValue * 6 + 5 - SomeParam;
end;
can definitely be declared inline. You just need to keep in mind that when inlining a function the function call will be replaced by the function's/procedure's body so the code size will increase (no, you don't need to pay attention for duplicate variable names).
Regards,
Sven