Hmm, über die exakten folgen hab ich auch neulich mal nachgedacht.
Also auf jedenfall sollte ja folgendes der Fall sein:
- Es werden unnötige globale Variablen angelegt.
- Nicht benutzte Ressourcen werden mit einkompiliert.
- Unnötige initialization- und finalization-Abschnitte werden ausgeführt.
- Namenskonflikte
- generell weniger Übersicht und Überblick über Abhängigkeiten
Das sollte soweit richtig sein oder?
Aber wie sieht das z.B. mit Code von Objekten, die man garnicht benutzt aus? Erkennt das der Compiler und lässt ihn außen vor, oder wird die Exe unnötig mit Code aufgebläht, der nie zum Einsatz kommt?
Bei Java z.B. wird ja für jede Klasse grundsätzlich eine eigene
Unit angelegt, hat das nur gründe der Übersichtlichkeit oder auch wegen sowas.
Sprich, macht es Sinn Units von denen man manche Klassen nur selten benötigt, nochmals zusätzlich zu splitten, auch wenn diese thematisch zusammen gehören?