Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Syntax der with-Anweisung

  Alt 8. Okt 2008, 21:43
Ich habe hier im Forum erfahren, das die Verwendung des 'with'-Statements mit Teeren und Federn bestraft wird. Daher möchte ich nur zwei Anmerkungen zu dieser Diskussion beitragen:
1. Die With-Anweisung von Visual Basic ist besser (Syntax sinngemäß):
Code:
With Foobar do
  .Property1 := bla;
  .Caption := mump;
End Width
Hier gehts um den Punkt: Schöne Idee, die ich mir in Delphi auch wünschen würde.

2. Übersichtlichkeit: Ich arbeite mit den Developer Express Komponenten, und da gibt es einen Bandwurm, um die einen selektierten Wert (die Spalte'MyNameColumn') eines Datengitters zu ermitteln:
Ohne with
SelectedName := MyGridView.DataController.Values[MyGridView.DataController.FocusedRecordIndex, MyNameColumn.Index]; mit:
Delphi-Quellcode:
With MyGridView.DataController do
  SelectedName :=Values[FocusedRecordIndex,MyNameColumn.Index];
Im Bestreben, den Code auf das Wesentliche zu beschränken, finde ich die Variante mit 'with' einfach übersichtlicher. Natürlich unter der Voraussetzung, das das Klassenmodell von DevExpress bekannt ist.

Mein Fazit: Ich verwende 'with', wenn ich Code leserlich gestalten will und würde mir die '.' Notation von VB in Delphi wünschen, damit dieses leidige Thema um die (ach so schlimme) und mißverständliche Verwendung von 'with' endlich ein Ende hat. Was mit einer guten Idee begann (vor 40 Jahren), in dem man eine Compileroptimierung als Sprachbestandteil manifestiert (Verwendung von Registern), ist heute im Kontext von OOP und mehrfach auftretender Eigenschaftsnamen ein Problem: CodeGear! handelt.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat