Perusahaan saya menjual kembali aplikasi yang bermerek campuran, misalnya "ApplicationName".
Pemasang aplikasi membuat semua jalur dan nama file dalam standar ini. Misal direktori utamanya adalah /opt/ApplicationName
, file init dipanggil ApplicationName
jadi saya harus menjalankan service ApplicationName status
dan sebagainya.
Bagi saya, ini memecah semua konvensi yang masuk akal dan saya merasa file dan direktori semua huruf kecil (ada preseden dalam aplikasi lain seperti MySQL, yang semua file dan dirs disebut mysql
, bahkan aplikasi seperti Apache dan Tomcat menghapuskan sebelumnya. huruf kapital).
Jika saya mengangkat ini sebagai laporan bug, saya ingin mengajukan argumen yang lebih kuat daripada hanya "Saya pikir itu salah". Jadi apakah itu ditentukan dalam sesuatu seperti standar POSIX bahwa file sistem seperti ini harus huruf kecil?
sumber
Jawaban:
Standar POSIX memiliki bagian dengan pedoman untuk menyesuaikan utilitas (yaitu, "seperti yang ditulis khusus untuk sistem lokal atau yang merupakan komponen dari aplikasi yang lebih besar") yang mengatakan
[ref: 12,2 Utilitas Pedoman Sintaks ]
Tidak jelas bagi saya apakah penggunaan kata-kata "harus menyertakan" benar-benar berarti " hanya boleh memasukkan". (Konsensus dalam komentar di bawah adalah bahwa itu berarti "hanya boleh memasukkan").
Aplikasi pada sistem Unix yang tidak mengklaim sebagai utilitas konforman POSIX dapat menggunakan nama apa pun yang diinginkan. Jika tidak mengklaim untuk menjadi sebuah utilitas konforman POSIX yang merupakan bagian dari utilitas POSIX shell , teks setelah pedoman dalam bagian 12.2 mengatakan bahwa "harus" perubahan yang berarti "akan".
Sejauh ini tidak ada panduan serupa tentang nama direktori. macOS (yang merupakan produk bersertifikasi UNIX 03 ketika dijalankan pada komputer Mac berbasis Intel) digunakan
/Users
sebagai awalan untuk direktori home pengguna, misalnya, serta sejumlah nama direktori case campuran lainnya.sumber
should
sebagai berikut: "Untuk implementasi yang sesuai dengan IEEE Std 1003.1-XXXX, jelaskan fitur atau perilaku yang direkomendasikan tetapi tidak wajib. Aplikasi tidak boleh bergantung pada keberadaan fitur atau perilaku. Aplikasi yang bergantung pada sebuah fitur atau perilaku tidak dapat dipastikan portabel di seluruh implementasi yang sesuai. Untuk suatu aplikasi, jelaskan suatu fitur atau perilaku yang direkomendasikan untuk diprogram dalam praktik untuk portabilitas yang optimal. "Tidak, nama huruf kecil tidak ditentukan untuk direktori instalasi paket perangkat lunak.
Faktanya, paket perangkat lunak yang terinstal secara
/opt
resmi dimulai dengan simbol ticker saham lengkap dari perusahaan yang menyediakan paket, sepertiSUNW
untuk Sun Microsystems atauORCL
untuk Oracle.Jadi paket seperti sistem file QFS Sun akan diinstal di direktori bernama sesuatu seperti
/opt/SUNWqfs
.sumber
should
pada dasarnyait is recommended
Di samping pedoman POSIX berkata, saya pikir itu bisa memiliki bobot lebih dari tradisi pengguna. Nama kasus sebagai "ApplicationName" menjadi populer dengan ledakan Wikis, membiasakan beberapa orang (seperti saya) untuk menggunakan ibukota alih-alih tanda hubung, atau lebih buruk, spasi. Tapi ini beberapa tahun setelah Linux dan OS serupa menjadi populer, dengan tradisi Unix yang sangat panjang.
Tradisi ini selalu merupakan kesederhanaan, tidak hanya untuk mengikuti aturan yang Kusalananda tunjuk, bahkan menyingkat kata-kata empat-enam karakter saja (misalnya,
/usr
untuk "pengguna", atau/srv
untuk "melayani" atau/mnt
untuk "dipasang") dan jelas artinya lebih lama (/sbin
untuk "biner superuser". Dalam tradisi ini, huruf besar, memaksa Anda untuk menekan tombol Shift, dan mungkin tanpa sengaja juga tombol Caps Lock, benar-benar jahat.Pada tingkat tertentu, ini mencengangkan karena Unix telah lama dapat menulis nama file panjang yang sensitif, sementara sebaliknya, MS-DOS / Windows terbatas pada case nama file pendek tidak sensitif (delapan karakter ditambah tiga untuk ekstensi) tetapi dengan cepat kehilangan kesederhanaan ini ("Program Files", "My Documents", dll.) ketika Windows 95 melampaui batasan ini.
Meskipun demikian, hari ini ada beberapa pengecualian seperti
NetworkManager
daemon dan mungkin kita akan melihat lebih banyak WikiWords di masa depan. Tapi kami masih membenci mouse dan menulis dalam nama panjang terminal yang hanya dapat Anda akhiri dengan TabTabpelengkapan otomatis. Atau seseorang melihat keuntungan mengubah namavim
menjadiVisualImproved
?sumber
/usr
bukan singkatan untuk "pengguna". Ini adalah singkatan untuk "Unix system resource"/usr
awalnya adalah direktori yang berisi direktori home pengguna (seperti/home
hari ini). Saya setuju dengan hobbs.My Computer
bukan, dan tidak pernah, direktori. Ini murni konstruksi shell; Anda dapat mengilustrasikan ini dengan mempertimbangkan bagaimana Anda akan, dalam prompt perintah atau dalam aplikasi Win16 gaya lama, menavigasi ke sana.Program Files
berantakan semua dengan namanya sendiri; Saya mengalami masalah itu paling baru kemarin , di mana sebuah perangkat lunak mengasumsikan nama bahasa InggrisProgram Files
tetapi nama sebenarnya yang digunakan terlokalisasi pada sistem. Mungkin salah satu kesalahan terburuk Microsoft di Windows 95./usr
danUnix System Resources
Dan, ya, dalam versi awal Unix, direktori home pengguna juga hidup di bawah `/ usr '