Як солом’яник вважає пакет, 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