首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java包命名。下划线:特例

问Java包命名。下划线:特例
EN

Stack Overflow用户
提问于 2014-09-09 18:01:11
回答 3查看 3.4K关注 0票数 5

今天,我在一个项目中命名了一个包,该包将包含与一个称为“访问结构”的概念相关的代码。

现在,命名这个包"com.myemployer.project.component.accessstructures“似乎没有吸引力,很难阅读,因为三重"S”。(较高级别的包实际上没有命名为"project“和"component")。

我很想用"...component.access_structures“

我在甲骨文网站上找不到Java约定中提到的任何内容。一个简短的网络搜索什么都没有。

像这样的名字的官方惯例是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-09 18:21:00

来自Oracle Docs

包名是用所有小写的编写的,以避免与类或接口的名称发生冲突。 公司使用他们的反向互联网域名开始他们的包名--例如,com.example.mypackage用于一个名为mypackage的包,这个包是由example.com的程序员创建的。 单个公司内部发生的名称冲突需要由该公司内部的约定来处理,也许可以在公司名称之后包括区域或项目名称(例如,com.example.region.mypackage)。 在某些情况下,internet域名可能不是有效的包名。如果域名包含连字符或其他特殊字符,如果包名以数字或其他字符作为Java名称的开头是非法的,或者如果包名包含保留的Java关键字(如"int“),则可能发生这种情况。在这种情况下,建议的约定是添加下划线。

虽然这个文本没有指定您的确切大小写,但它确实指出,对于无效的包名,我们应该使用下划线。有人可能会说,accessStructures是我们如何在Java中定义方法的,因此这样命名包可能会让人感到困惑。总的来说,这真的取决于你。

如果你想遵守这个惯例,我相信你应该把你的包裹命名为:

代码语言:javascript
复制
com.myemployer.project.component.access_structures

此外,您还可以查找同义词,并找到可以减少混淆的替代方法。我很快就发现了一些:

  • 访问框架
  • 存取厂
  • 辅助架构
  • 访问构造
票数 5
EN

Stack Overflow用户

发布于 2014-09-09 18:08:24

我认为这方面没有任何标准。人们遵循不同的命名规则,以方便和可读性。但是大多数程序员认为camel大小写命名最方便。你可以把它命名为accessStructure

找到一个甲骨文,它建议将包名与所有小写字母一起使用

包名用所有小写编写,以避免与类或接口的名称发生冲突。

票数 1
EN

Stack Overflow用户

发布于 2014-09-09 18:30:40

根据文档,您不能使用camelCase来命名包。在某些情况下,使用snake_case命名包是可以的,但如果您不能正确使用域,则更合适,因为其中包含连字符或以数字开头。但它必须是规则的例外,而不是规则。

如果我是你,我会改头换面的。例如:accessstructures -> accesscore

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25751044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档