Перефинансированное название компании в пакетах Java
Предположим, вы работаете над основным модулем проекта foo
для BarBaz Incorporated. Ваш фрагмент кода может выглядеть так:
package com.barbaz.foo.core;
import com.barbaz.foo.util;
Что будет с конвенцией, если сайт вашей компании не был barbaz.com
, а вместо этого bar-baz.com
?
Ответы
Ответ 1
Спецификация языка Java эпохи SUN предлагает следующее соглашение:
Если доменное имя содержит дефис или любой другой специальный символ, не разрешенный в идентификаторе (§3.8), преобразуйте его в подчеркивание.
Но это всего лишь предложение...
Ответ 2
Я просмотрел историю своего браузера, и за последние 2 месяца я не посещал ни одного домена с дефисом. Таким образом, соглашение состоит в том, чтобы переименовать компанию.
В качестве альтернативы, оставьте дефис, потому что BazBaz никогда не будет включать Baz = Baz-код в свои собственные.
Ответ 3
Я бы просто удалил дефис. Вы могли бы изменить его на символ подчеркивания, но это выглядело бы довольно уродливо.
Очень маловероятно, что он действительно столкнется с другой компанией с тем же именем минус дефисов. Даже если обе компании являются технологическими компаниями, использующими Java, каковы шансы, что кто-то будет использовать код, созданный ими обоими в одной и той же кодовой базе?
Честно говоря, я хочу, чтобы Java не пошла по этому пути с точки зрения соглашений. Интересно, сколько каталогов, называемых "com" или "org", существует с одним членом - подкаталог с более значимым именем.
Ответ 4
Просто опустите дефис. Имя пакета не обязательно должно совпадать с именем веб-сайта. Более важно, чтобы между пакетами, производимыми компанией, была согласованность, поэтому все они используют одно и то же базовое имя пакета.
Ответ 5
Я работаю над большим количеством правительственных материалов, и мы обычно используем знак подчеркивания bar_baz.