Название компании в пакетах Java - PullRequest
39 голосов
/ 09 сентября 2010

Допустим, вы работаете над основным модулем проекта foo для BarBaz Incorporated.Ваш фрагмент кода может выглядеть следующим образом:

package com.barbaz.foo.core;

import com.barbaz.foo.util;

Каково будет соглашение, если веб-сайт вашей компании будет не barbaz.com, а вместо bar-baz.com?

Ответы [ 5 ]

60 голосов
/ 18 октября 2010

Спецификация языка Java дает предлагаемое соглашение:

Если имя домена содержит дефис или любой другой специальный символ, не разрешенный в идентификаторе (§3.8), преобразуйте его в подчеркивание.

Но это всего лишь предложение ...

52 голосов
/ 09 сентября 2010

Я только что просмотрел историю своего браузера, и за последние 2 месяца я не посещал ни одного домена с дефисом.Таким образом, соглашение заключается в переименовании компании.

В качестве альтернативы, опустите дефис, потому что BazBaz никогда не будет включать в себя код Baz = Baz.

13 голосов
/ 09 сентября 2010

Я бы лично удалил дефис.Вы могли бы изменить его на подчеркивание, но это выглядело бы довольно уродливо.

Маловероятно, что действительно столкнется с другой компанией с таким же названием, за исключениемдефис.Даже если обе компании являются технологическими компаниями, и обе используют Java, каковы шансы, что кто-то собирается использовать код, созданный ими обоими в одной кодовой базе?

Если честно, я бы хотел, чтобы Java непошел по этому пути с точки зрения конвенций.Интересно, сколько каталогов под названием «com» ​​или «org» существует с одним членом - подкаталогом с более значимым именем.

9 голосов
/ 09 сентября 2010

Просто бросьте дефис.Имя пакета не обязательно должно совпадать с именем сайта.Более важно, чтобы между пакетами, производимыми компанией, была согласованность, поэтому все они используют одно и то же имя базового пакета.

3 голосов
/ 09 сентября 2010

Я работаю над многими правительственными материалами, и мы обычно используем подчеркивание, так что bar_baz.

...