Eine solche Warnung, vor allem bei dyamischen Arrays würde auch der Delphi
IDE gut tun. Ich erinnere mich da an so manches Performance-Problem, wie z.B. "mit jedem Kompilieren dauert das nächste Kompilieren länger".
Der Grund war Code, der das dynamische Rückgabe-Array nicht abgelöscht und es fleißig mit "SetLength(Result, Length(Result) + 1)" in einer Schleife vergrößert hat (man hätte ja auch die Anzahl vorher bestimmen können).
Pseudocode:
Delphi-Quellcode:
begin
for I := 0 to Items.Count - 1 do
begin
FMyArrayObjectField := Items[I].ToArray;
...
end;
end.
function TMyItem.ToArray: TArray<string>;
begin
// hier das fehlende "Result := nil;"
for I := 0 to Item.ChildCount - 1 do
begin
SetLength(Result, Length(Result) + 1);
Result[High(Result)] := Item.Childs[I];
end;
end;
lol aua
Erstens nicht initialisiert und zweitens lustig in der Schleife das Array reallokieren.