Как соломенный эксперт, посчитайте, что пакет 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