编程语言
首页 > 编程语言> > 更改包名称大小写约定的Java原因

更改包名称大小写约定的Java原因

作者:互联网

在您说这是重复的之前,我已经看到其他问题了,我仍然想发布此问题.

所以我读了《用Java思考-Bruce Eckel》,这一节是关于小写命名约定的:

In Java 1.0 and Java 1.1 the domain extensions com, edu, org, net, etc., were capitalized by convention, so the library would appear: NET.mindview.utility.foibles. Partway through the development of Java 2, however, it was discovered that this caused problems, so now the entire package name is lowercase.

我在“发现这引起了问题”的问题.什么问题?不可能是名称冲突,因为域名大写,对吗?

我已经在Google上搜索了此内容,但我得到的只是:Why should java package name be lowercase?

Package names are written in all lower case to avoid conflict with the names of classes or interfaces.

我还搜索了Java包的小写字母约定,更改了全大写字母的域名,但没有用.

那么,有谁知道为什么要在中途更改命名约定?

解决方法:

只是一个疯狂的猜测,并不基于任何可靠的来源:程序包名称与文件系统目录结构相关.带有NET的程序包名称可能会引起问题,例如将来自区分大小写文件系统的源树复制到/不区分大小写文件系统/上,并且无论出于何种原因,目录名都从“ NET”更改为等效的“ net”.

同样,情况也相反:从程序包名称解析文件系统路径,我可以想到这种情况可能会引起歧义或至少使用户感到惊讶.

在某些情况下,我会看到这引起混乱.

另一个潜在的问题是它与类命名约定中允许的内容冲突.类通常是首字母大写的,但是对于例如首字母缩写为全大写,例如一个名为API或COM之类的类.这允许包和类命名约定之间有一些重叠.但是我的感觉是文件系统问题很可能是问题.

标签:naming-conventions,java
来源: https://codeday.me/bug/20191026/1938735.html