Mi empresa revende una aplicación cuya marca es mixta, por ejemplo "ApplicationName".
El instalador de la aplicación crea todas las rutas y nombres de archivo en este estándar. Por ejemplo, el directorio principal es /opt/ApplicationName
, se llama al archivo init, ApplicationName
así que tengo que ejecutarlo, service ApplicationName status
etc.
Para mí, esto rompe todas las convenciones razonables y creo que los archivos y directorios deberían estar en minúsculas (hay precedentes en otras aplicaciones como MySQL, cuyos archivos y directorios se llaman mysql
, incluso las aplicaciones como Apache y Tomcat eliminan lo anterior letra mayúscula).
Si planteo esto como un informe de error, me gustaría presentar un argumento más fuerte que simplemente "Creo que está mal". Entonces, ¿se dicta en algo como el estándar POSIX que los archivos de sistema como este deberían estar en minúsculas?
fuente
Respuestas:
El estándar POSIX tiene una sección con pautas para las utilidades conformes (es decir, "como las escritas específicamente para un sistema local o que son componentes de una aplicación más grande") que dice
[ref: 12.2 Pautas de sintaxis de utilidad ]
No me queda claro si el uso de las palabras "debería incluir" realmente significa " solo debe incluir". (El consenso en los comentarios a continuación es que significa "solo debe incluir").
Una aplicación en un sistema Unix que no pretende ser una utilidad de conformidad POSIX puede usar el nombre que desee. Si se hace pretensión de ser una utilidad conformes con POSIX que forma parte de las utilidades de shell POSIX , el texto que sigue las directrices de la sección 12.2 dice que "deben" significado cambia a "deberán".
No hay pautas similares con respecto a los nombres de directorio hasta donde yo sé. macOS (que es un producto certificado UNIX 03 cuando se ejecuta en una computadora Mac basada en Intel) se utiliza
/Users
como prefijo para los directorios de inicio de los usuarios, por ejemplo, así como una serie de otros nombres de directorio de mayúsculas y minúsculas.fuente
should
lo siguiente: "Para una implementación que cumpla con IEEE Std 1003.1-XXXX, describe una característica o comportamiento que se recomienda pero no obligatorio. Una aplicación no debe confiar en la existencia de la característica o comportamiento. Una aplicación que se basa en tal no se puede asegurar que una característica o comportamiento sea portátil en implementaciones conformes. Para una aplicación, describe una característica o comportamiento que se recomienda como práctica de programación para una portabilidad óptima ".No, los nombres en minúsculas no se especifican para los directorios de instalación de paquetes de software.
De hecho, históricamente, los paquetes de software instalados
/opt
comenzaron con el símbolo de teletipo bursátil de la compañía proveedora del paquete, comoSUNW
Sun Microsystems oORCL
Oracle.Entonces, paquetes como el sistema de archivos QFS de Sun se instalarían en un directorio llamado algo así
/opt/SUNWqfs
.fuente
should
esencialmenteit is recommended
Además de las pautas de POSIX, dijo, creo que eso podría tener aún más peso en la tradición del usuario. Los nombres de casos como "ApplicationName" se hicieron populares con la explosión de Wikis, acostumbrando a algunas personas (como yo) a usar mayúsculas en lugar de guiones, o peor, espacios. Pero esto fue algunos años después de que Linux y SO similares se volvieran populares, con una larga tradición de Unix detrás.
Esta tradición ha sido (es) siempre la simplicidad, no solo para seguir las reglas que Kusalananda señaló, incluso abreviando palabras de cuatro a seis caracteres solamente (por ejemplo,
/usr
para "usuario", o/srv
para "servir" o/mnt
para "montado") y obviamente significados más largos (/sbin
para "binarios de superusuario". En esta tradición, mayúsculas, forzarlo a presionar la tecla Shift, y quizás accidentalmente también la tecla Bloq Mayús, es simplemente malvado.En cierta medida, esto es sorprendente porque Unixes ha sido capaz de escribir durante mucho tiempo nombres de archivo largos que distinguen entre mayúsculas y minúsculas, mientras que, por el contrario, MS-DOS / Windows se limitó a nombres de archivo cortos que no distinguen entre mayúsculas y minúsculas (ocho caracteres más tres para la extensión) pero se perdieron rápidamente esta simplicidad ("Archivos de programa", "Mis documentos", etc.) cuando Windows 95 supera esta limitación.
Sin embargo, hoy hay algunas excepciones como el
NetworkManager
demonio y probablemente veremos más WikiWords en el futuro. Pero todavía odiamos el mouse y escribimos en el terminal nombres largos que solo puede terminar con la TabTabautocompletación. O alguien ver alguna ventaja de cambiar el nombrevim
deVisualImproved
?fuente
/usr
no es una abreviatura de "usuario". Es la abreviatura de "recurso del sistema Unix"/usr
originalmente era el directorio que contenía los directorios principales de los usuarios (como/home
hoy). Estoy de acuerdo con hobbs.My Computer
no es, y nunca ha sido, un directorio. Es puramente una construcción de concha; puede ilustrar esto considerando cómo, en un símbolo del sistema o en una aplicación Win16 de estilo antiguo, navegaría a él.Program Files
es un desastre propio, con su nombre localizado; Me encontré con ese problema más recientemente, literalmente ayer , donde un software asumió el nombre en inglés deProgram Files
pero el nombre real tal como se usaba estaba localizado en el sistema. Probablemente una de las peores tonterías de Microsoft en Windows 95./usr
yUnix System Resources
, sí, en las primeras versiones de Unix, los directorios de inicio de los usuarios también vivían bajo `/ usr '