Einzelnen Beitrag anzeigen

Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#10

AW: With Auflösen Refactoring?

  Alt 15. Jan 2024, 11:22
Man bedenke:
Delphi-Quellcode:
with ListView1.Items.Add do
begin
  Caption := 'wupp';
  SubItems.Add('di');
  ImageIndex := 42;
end;
Oder noch besser:
Delphi-Quellcode:
with TWuppdi.Create() do
try
  TuWas();
  TuNochWas();
finally
  Free();
end;
Das kann Refactor nicht wissen und müsste eigentlich alle with-do-Subjekte, die keine lokalen Variablen sind, in lokale Variablen schreiben, um sicher zu funkionieren, selbst wenn es unnötig ist.
Mit etwas Heuristik könnte man das noch verbessern. Wenn das "Subjekt" z.B. eh schon eine Variable ist oder ein direkter Zugriff auf eine Property, die ohne Get-Routine auf eine Membervariable verweist.
Uli Gerhardt
  Mit Zitat antworten Zitat