Java包中的连字符公司名称

cor*_*iKa 39 java naming-conventions package

假设您正在foo为BarBaz Incorporated 的项目核心模块工作.您的代码片段可能如下所示:

package com.barbaz.foo.core;

import com.barbaz.foo.util;
Run Code Online (Sandbox Code Playgroud)

如果贵公司的网站不是barbaz.com,那么会议是什么bar-baz.com

小智 62

Java语言规格给出了一个建议的约定:

如果域名包含连字符或标识符(第3.8节)中不允许的任何其他特殊字符,请将其转换为下划线.

但这只是一个建议......

  • 考虑到大多数Java建议建议不要在大多数标识符中使用下划线,这很有趣. (18认同)

Amy*_*y B 57

我只是浏览了浏览器的历史记录,在过去的两个月里,我没有访问过带有连字符的单个域名.因此,惯例是重命名公司.

或者,省略连字符,因为BazBaz不会在其自己中包含Baz = Baz的代码.

  • 真棒.我好意思. (9认同)
  • 大声笑.导致另一个stackoverflow问题"什么是重命名我的公司的日食快捷键.ALT + Shift + R不工作" (5认同)
  • 我认为董事会会对这种方法提出异议,但我也哈哈大笑! (2认同)
  • “ ...重命名公司”-不是很有帮助。 (2认同)

Jon*_*eet 13

我个人只是删除连字符.您可以将其更改为下划线,但这看起来非常难看.

真的不太可能与另一家名称减去连字符的公司发生冲突.即使两家公司都是使用Java的技术公司,任何人都有可能在同一代码库中使用由他们创建的代码?

说实话,我希望Java在约定方面没有沿着这条路走下去.我想知道有多少名为"com"或"org"的目录与一个成员存在 - 一个名称更有意义的子目录.

  • @corsiKa:Ick.看起来非常难看!我不记得上次在包名中看到下划线了,说实话...... (4认同)
  • 我在一家有|的公司工作 其中的字符是官方法人实体名称.字面上的地狱. (2认同)

Eri*_*son 9

只需删除连字符.包名称根本不需要与网站名称匹配.更重要的是,公司生产的包之间存在一致性,因此它们都使用相同的基础包名称.

  • 如果barbaz.com和bar-baz.com都在制作图书馆,其中一个会起诉另一个. (13认同)
  • 它还用于避免库中的命名空间冲突。如果 barbaz.com 使用来自 bar-baz.com 的库(他们删除了连字符)创建了一个产品,则可能会发生冲突。在实践中,这不可能是可笑的。 (2认同)