2015-10-20 4 views
2

Я заметил, что несколько связанных с TypeSafe проектов, таких как spray и akka, не включают com. или org. в качестве начальных имен пакетов, которые они определяют.Пространства имен пакетов в scala - и схема именования обратного домена

Интересно, есть ли технические последствия для этого отклонения от схемы именования пакетов «обратного домена» Java. Существует ли какое-либо влияние на совместимость Java? Каковы могут быть технические последствия пропущения компонента com/org в именах пакетов scala в моих собственных библиотеках и пакетах?

Конечно, схема обратного домена устраняет проблему коллизий пространства имен пакетов, связывая пространство имен с ресурсом, уникально распределенным интернет-регистраторами, поэтому проекты, отклоняющие эту модель, не имеют такой защиты, но я бы не стал называть это технических подразумевается, так что мы можем игнорировать, что ...

+0

BTW, http://docs.scala-lang.org/style/naming-conventions.html вид рекомендует придерживаться обратного имени домена, но, возможно, он устарел. – matanster

+3

Нет проблем с технической совместимостью с scala, не относящимися к директиве обратного домена .. тот же вопрос о том, чтобы следовать или не подниматься на Java тоже. Как правило, аргумент состоит в том, что длинные имена пакетов сосут и почему тратить время на изменение каждого исходного файла каждый раз, когда компания меняет свое название, стирается риск столкновения, который вы уже наблюдали. –

+0

Вы уже задали (и удалили) этот вопрос два дня назад http://stackoverflow.com/questions/33190124/package-namespaces-in-scala-and-the-reverse-domain-naming-scheme –

ответ

0

схема обратного домена устраняет проблему столкновений пакетов пространств имен

Это единственная причина, по схеме, которая должна отвечать у наш вопрос. Единственная проблема для интероперабельности в структуре пакета, о которой я знаю, это имена пакетов Scala, которые могут содержать ключевые слова Java (and Scala, using backticks).

+0

Несмотря на то, что вы не вдаетесь в круг вопросов, можете ли вы вкратце рассказать о сценарии взаимодействия с наихудшим случаем? – matanster

+0

Для этого просто невозможно получить доступ к типам в таком пакете из кода Java (игнорируя отражение). –

Смежные вопросы