Моя компания перепродает приложение с фирменным наименованием в смешанном регистре, например «ApplicationName».
Установщик приложения создает все пути и имена файлов в этом стандарте. Например, основной каталог /opt/ApplicationName
, файл инициализации называется, ApplicationName
поэтому я должен запустить service ApplicationName status
и так далее.
Для меня это нарушает все разумные соглашения, и я чувствую, что все файлы и каталоги должны быть в нижнем регистре (есть прецедент в других приложениях, таких как MySQL, чьи файлы и каталоги все вызываются mysql
, даже приложения, такие как Apache и Tomcat, отменяют предыдущее Заглавная буква).
Если я расскажу об этом как об ошибке, я бы хотел привести более сильный аргумент, чем просто «я думаю, что это неправильно». Значит, в стандарте POSIX указано, что такие системные файлы должны быть в нижнем регистре?
источник
Ответы:
В стандарте POSIX есть раздел с рекомендациями для соответствующих утилит (т. Е. «Таких, которые написаны специально для локальной системы или являются компонентами более крупного приложения»), в которых говорится
[ref: 12.2 Рекомендации по синтаксису утилит ]
Мне неясно, должно ли употребление слов «включать» действительно означает « только включать». (Консенсус в комментариях ниже заключается в том, что это означает «должен включать только»)
Приложение в системе Unix, которое не претендует на то, чтобы быть POSIX-совместимой утилитой, может иначе использовать любое имя, какое захочет. Если это так претендует на совместимом утилит POSIX , которая является частью утилита POSIX оболочки , текст после руководящих принципов в разделе 12.2 говорится , что «должны» изменения смысл «должны».
Насколько я знаю, аналогичных рекомендаций относительно имен каталогов нет. macOS (который является сертифицированным продуктом UNIX 03 при работе на компьютере Mac на базе Intel) использует
/Users
, например, в качестве префикса домашние каталоги пользователя, а также ряд других имен каталогов в смешанном регистре.источник
should
следующее: «Для реализации, которая соответствует стандарту IEEE Std 1003.1-XXXX, описывается функция или поведение, которое рекомендуется, но не обязательно. Приложение не должно полагаться на существование функции или поведения. Приложение, которое полагается на такое нельзя гарантировать, что функция или поведение будут переносимыми между соответствующими реализациями. Для приложения описывается функция или поведение, которое рекомендуется для программирования для оптимальной переносимости ».Нет, имена в нижнем регистре не указываются для каталогов установки программного пакета.
Фактически, исторически установленные пакеты программного обеспечения
/opt
начинались с символа «все столицы»,SUNW
обозначающего акции компании, предоставляющей пакет, например, для Sun Microsystems илиORCL
для Oracle.Таким образом, такие пакеты, как файловая система Sun QFS, будут установлены в каталоге с именем что-то вроде
/opt/SUNWqfs
.источник
should
по существуit is recommended
Помимо руководств POSIX, я думаю, что это может иметь еще больший вес пользовательской традиции. Имена падежей как «ApplicationName» стали популярными благодаря взрыву в Вики, когда некоторые люди (например, я) использовали прописные буквы вместо дефисов или, что еще хуже, пробелы. Но это было через несколько лет после того, как Linux и подобные ОС стали популярными, с очень давними традициями Unix.
Эта традиция всегда была (есть) всегда простотой, а не только в соответствии с правилами, указанными Кусаланандой, даже сокращением слов, состоящих только из четырех-шести символов (например,
/usr
«пользователь», или/srv
«служить», или/mnt
«подключен»), и явно более длинные значения (/sbin
для «суперпользовательских двоичных файлов»). В этой традиции прописные буквы заставляют вас нажимать клавишу Shift и, возможно, случайно также клавишу Caps Lock, просто зло.В некоторой степени это удивительно, потому что Unixes в течение долгого времени могли писать чувствительные к регистру длинные имена файлов, в то время как MS-DOS / Windows ограничивалась нечувствительными к регистру короткими именами файлов (восемь символов плюс три для расширения), но быстро теряла эта простота («Программные файлы», «Мои документы» и т. д.), когда Windows 95 превосходит это ограничение.
Тем не менее, сегодня есть несколько исключений, таких как
NetworkManager
демон, и, вероятно, мы увидим больше WikiWords в будущем. Но мы по-прежнему ненавидим мышь и пишем в терминале длинные имена, которые можно завершить только TabTabавтозаполнением. Или кто - то увидеть некоторое преимущество переименованияvim
вVisualImproved
?источник
/usr
не является сокращением для "пользователя". Это сокращение от «системный ресурс Unix»/usr
был каталогом, в котором содержались домашние каталоги пользователя (как/home
сегодня). Я согласен с Хоббсом.My Computer
нет и никогда не было каталогом. Это чисто оболочечная конструкция; Вы можете проиллюстрировать это, подумав, как перейти к нему в командной строке или в старом приложении Win16.Program Files
беспорядок сам по себе, с его локализованным именем; Я столкнулся с этой проблемой совсем недавно буквально вчера , когда часть программного обеспечения приняла английское имя,Program Files
но фактическое имя, которое использовалось, было локализовано в системе. Возможно, одна из худших глупостей Microsoft в Windows 95./usr
иUnix System Resources
И, да, в ранних версиях Unix домашние каталоги пользователей также жили в `/ usr '