Как соломенный эксперт, посчитайте, что пакет java.util
- это свалка для различных классов, которые в большинстве случаев не имеют ничего общего, кроме человека, который их поместил, было ленивым или не вдохновленным придумать более семантически правильное имя пакета для своего класса.
В качестве одного примера, возьмем класс, UUID
каким было бы семантически правильное имя пакета для этого класса?
Я работаю над реализацией своего собственного UUID
класса, чтобы быть более легким. Я не хочу использовать me.myproject.util.UUID
для моего имени пакета.
Я считал, me.myproject.rfc4122.UUID
но это не подразумевает семантику использования UUID
.
Я также рассмотрел, me.myproject.uuid.UUID
но я не люблю тавтологию в этом, даже несмотря на то, что в Python является популярным подходом помещать класс в модуль с тем же именем, а packages
в Java не являются семантически эквивалентными modules
в Python.
Я также рассмотрел, me.myproject.UUID
но отклонил это, потому что я не хочу загрязнять эту часть пространства имен вещами, которые не связаны. Это просто поднимает проблему на новый уровень.
Я также подумал, me.myproject.lib.UUID
но это не имеет более смыслового значения, чем .util
просто переименовывает проблему.
semantics
: отрасль лингвистики и логики, связанная со смыслом .
from me.myproject.uuid import UUID, GetUUIDInfo
выглядит хорошо. В модуле может быть более одной экспортированной вещи.
me.myproject.UUID
? Илиme.UUID