我的公司经销的应用程序的品牌名称是大小写混合的,例如“ApplicationName”。
应用程序的安装程序创建此标准中的所有路径和文件名。例如,主目录是/opt/ApplicationName
,调用了 init 文件,ApplicationName
所以我必须运行service ApplicationName status
等等。
对我来说,这打破了所有合理的约定,我觉得文件和目录都应该是小写的(在其他应用程序中,例如 MySQL,其文件和目录都被称为mysql
,甚至像 Apache 和 Tomcat 这样的应用程序也取消了前面的先例)大写字母)。
如果我将其作为错误报告提出,我想提出一个更有力的论据,而不仅仅是“我认为这是错误的”。那么,像 POSIX 标准这样的系统文件是否规定应该小写?
答案1
否,软件包安装目录未指定小写名称。
事实上,历史上安装的软件包/opt
以提供该软件包的公司的全大写股票代码开头,例如SUNW
Sun Microsystems 或ORCL
Oracle。
因此,诸如 Sun 的 QFS 文件系统之类的软件包将安装在名为/opt/SUNWqfs
.
答案2
POSIX 标准有一个部分提供了指导方针合格公用事业(即“例如那些特定于本地系统编写的内容或作为较大应用程序的组件的内容”)
- 实用程序名称应介于 2 到 9 个字符之间(含)。
- 实用程序名称应包含小写字母(较低的字符分类)和仅来自可移植字符集的数字。
[参考:12.2 实用程序语法指南]
我不清楚“应该包括”这个词的使用是否真的意味着“应该仅有的include”。(下面评论中的共识是它的意思是“应该只包括”)。
Unix 系统上的应用程序如果不声称自己是符合 POSIX 的实用程序,则可以使用它想要的任何名称。如果它做声称是符合 POSIX 标准的实用程序这是 POSIX shell 实用程序的一部分,第 12.2 节指南后面的文本表示“应该”的含义更改为“应”。
据我所知,没有关于目录名称的类似指南。 macOS(即经过认证的 UNIX 03 产品例如,当在基于 Intel 的 Mac 计算机上运行时)用作/Users
用户主目录的前缀,以及许多其他混合大小写的目录名称。
答案3
除了 POSIX 指南所说的之外,我认为这可能会更加重视用户传统。 “ApplicationName”这样的案例名称随着 Wiki 的爆炸式增长而流行起来,让一些人(比如我)习惯使用大写字母而不是连字符,或者更糟糕的是空格。但这是在 Linux 和类似操作系统流行几年后,Unix 有着悠久的传统。
这个传统一直是简单的,不仅遵循Kusalananda指出的规则,甚至仅缩写四到六个字符的单词(例如,/usr
“用户”,或/srv
“服务”或/mnt
“安装”),并且显然更长的含义(/sbin
对于“超级用户二进制文件”。在这种传统中,大写字母迫使您按 Shift 键,并且可能不小心还按 Caps Lock 键,这简直是邪恶的。
在某种程度上,这是令人惊讶的,因为 Unix 长期以来一直能够编写区分大小写的长文件名,而相比之下,MS-DOS/Windows 仅限于不区分大小写的短文件名(八个字符加三个扩展名)但很快就丢失了当 Windows 95 超越此限制时,这种简单性(“程序文件”、“我的文档”等)就变得简单了。
尽管如此,今天还是有一些例外,比如NetworkManager
守护进程,将来我们可能会看到更多的 WikiWords。但我们仍然讨厌鼠标,并在终端中写入长名称,只能以TabTab自动补全结束。或者有人看到重命名vim
为的一些优点VisualImproved
?