Як солом’яник вважає пакет, java.utilце демпінг-майданчик для різних класів, які в більшості випадків не поділяють нічого спільного, окрім того, що людина, яка їх помістила, була лінивою чи не натхненною, щоб придумати більш семантично правильну назву пакета для свого класу.
Як один із прикладів: візьміть клас, UUIDщо було б семантично правильним назвою пакета для цього класу?
Я працюю над впровадженням власного UUIDкласу, щоб бути легшим. Я не хочу використовувати me.myproject.util.UUIDдля свого імені пакет.
Я вважав, me.myproject.rfc4122.UUIDале це не передбачає семантичності використання UUID.
Я також вважав, me.myproject.uuid.UUIDале мені не подобається тавтологія в цьому, хоча популярний підхід в Python ставити клас в модуль з тим же ім'ям, а packagesв Java не семантично еквівалентний modulesPython.
Я також вважав, me.myproject.UUIDале відхиляв його, оскільки не хочу забруднювати цю частину простору імен речами, які не пов'язані між собою. Це просто переміщує проблему на рівень.
Я також вважав, me.myproject.lib.UUIDале це не має більше смислового значення, ніж .utilі просто перейменує проблему.
semantics: галузь лінгвістики та логіки, що стосується значення .
from me.myproject.uuid import UUID, GetUUIDInfoвиглядає нормально. У модулі може бути більше однієї експортованої речі.
me.myproject.UUID? Абоme.UUID