Ich möchte den Punkt der Übersichtlichkeit nochmal aufgreifen.
Bisher geht ihr alle davon aus, dass ihr/eure Firma/euer Entwicklerteam die einzigen seid, die das Projekt kompilieren.
Und das beim Build sowieso alle Abhängigkeiten bereits erfüllt sind.
Aber angenommen ich entwickle Open Source und binde noch ein paar externe Units mit ein, die nicht zum Projekt gehören.
Nun möchte jemand anders den Code auch auf seinem Zielsystem kompilieren, und schaut zunächst in die Units, welche Dependencies er braucht. Dann ist es doch
viel einfacher und schneller, einfach oben im interface-Abschnitt zu schauen, gerade weil diese Klausel direkt sehr weit oben im Code ist. Man bedenke, dass der interface-Abschnitt gerne mal >200 Zeilen lang werden kann, und dementsprechend die implementation-uses-Klausel irgendwo mitten im Code liegt (erstmal finden!)
Und jetzt kommt mir bitte keiner mit: "Ausprobieren und den Compiler in den Fehler laufen lassen, dann wird man schon sehen, was er nicht findet" - denn das ist jawohl die unsauberste Methode überhaupt.
Das würde dem gleichen Prinzip folgen wie:
Delphi-Quellcode:
function Nonzero(const i: integer): boolean;
var x: extended;
begin
try
x := 1/i;
Result := true;
except
Result := false
end
end;
Einfach drauflos ballern und vom Fehlerfall ausgehen.
P.S.: Gut, zugegeben, die Dependencies sollten eigentlich auch mit in die Dokumentation, aber hasst es nicht jeder Programmierer, Dokumentationen zu schreiben?