Seit es Namespaces gibt, fange ich an die Verzeichnissmenge einzuschränken.
Wir haben im Gegenteil die Verzeichnisse analog zu den Namespaces aufgebaut. Sprich Common.Utils.StringTools.pas liegt in Repository\common\utils usw.
Klassen und Interfaces heißen analog zu den Unitnamen. Auf die Weise findet man erstens schnell eine bestimmte
Unit, zweitens thematisch schnell ein passende
Unit und drittens einfach eine
Unit zu einem Typen. Letzteres ist mit ModelMaker Code Explorer sicherlich nicht mehr so das Thema, aber ich finde es dennoch am übersichtlichsten.