Als Strohmann betrachten Sie das Paket java.util
als einen Abladeort für verschiedene Klassen, die in den meisten Fällen nichts gemeinsam haben, außer der Person, die sie dort abgelegt hat, die faul oder einfallslos war, einen semantisch korrekteren Paketnamen für ihre Klasse zu finden.
Nehmen wir als einziges Beispiel die Klasse UUID
, die ein semantisch korrekter Paketname für diese Klasse gewesen wäre.
Ich arbeite daran, meine eigene UUID
Klasse leichter zu machen. Ich möchte nicht me.myproject.util.UUID
für meinen Paketnamen verwenden.
Ich dachte darüber nach, me.myproject.rfc4122.UUID
aber das impliziert nicht die Semantik der Verwendung von UUID
.
Ich habe auch darüber nachgedacht, me.myproject.uuid.UUID
aber ich mag die Tautologie darin nicht, obwohl es in Python ein gängiger Ansatz ist, eine Klasse in ein Modul mit demselben Namen zu setzen, und packages
in Java semantisch nicht mit modules
Python identisch sind .
Ich habe es auch in Betracht gezogen, me.myproject.UUID
aber abgelehnt, weil ich diesen Teil des Namespaces nicht mit Dingen verschmutzen möchte, die nichts miteinander zu tun haben. Dies verschiebt das Problem nur um eine Stufe nach oben.
Ich habe auch darüber nachgedacht, me.myproject.lib.UUID
aber das hat keine semantischere Bedeutung als .util
und benennt das Problem einfach um.
semantics
: der Zweig der Linguistik und Logik, der sich mit Bedeutung befasst .
from me.myproject.uuid import UUID, GetUUIDInfo
sieht so etwas in Ordnung aus. Ein Modul kann mehrere exportierte Objekte enthalten.
me.myproject.UUID
? Oderme.UUID