Huruf kecil dalam nama file Linux

11

Ketika saya menemukan bahwa UpperCase benar-benar dapat dibaca untuk pemisahan kata huruf pertama dalam nama yang panjang dan kompleks, saya cenderung memberikan beberapa nama file Linux saya dengan beberapa UpperCase. Sebagian besar executable, beberapa direktori juga.

Tapi sudah beberapa minggu saya mengatakan bahwa sebagian besar dari semua nama file di distrib linux saya lebih kecil ...

Jadi saya membuat beberapa googling beberapa saat yang lalu, dan saya menemukan artikel ini: Nama File Linux , yang menyatakan seseorang harus selalu menggunakan huruf kecil di dunia unix,

... Yang terbaik adalah selalu menggunakan huruf kecil di Linux kecuali Anda dapat memikirkan alasan yang baik untuk menggunakan huruf besar atau huruf besar. Kebanyakan orang Unix menggunakan huruf kecil hampir secara eksklusif, tetapi selain dari titik "budaya" ini, ada alasan bagus lain untuk menggunakan huruf kecil. Jika Anda berbagi atau mengakses sistem file DOS dengan Linux, DOS tidak akan dapat melihat file yang memiliki nama file huruf besar atau campuran ...

Apakah benar hal itu merupakan masalahnya?

Stephane Rolland
sumber
2
ya, itulah masalahnya. unix orang sepertinya tidak dapat menemukan tombol shift. tetapi benar-benar tidak ada yang dapat dibenarkan untuk mendukung aturan terhadap kasus campuran. itu hanya kata-kata kasar.
Ross Patterson

Jawaban:

20

Pemrogram membenci penggunaan tombol shift (dan caps lock adalah sesuatu yang banyak coba untuk dilakukan ). Melanjutkan dari titik yang mengatakan "selalu gunakan huruf kecil" ...

Yang terbaik adalah selalu menggunakan huruf kecil di Linux kecuali Anda dapat memikirkan alasan yang baik untuk menggunakan huruf besar atau huruf besar. Kebanyakan orang Unix menggunakan huruf kecil hampir secara eksklusif, tetapi selain dari titik "budaya" ini , ada alasan bagus lain untuk menggunakan huruf kecil. Jika Anda berbagi atau mengakses sistem file DOS dengan Linux, DOS tidak akan dapat melihat file yang memiliki nama file huruf besar atau campuran.

Alasan utama untuk ini adalah bahwa jika Anda mentransfer dua file yang dipisahkan oleh case ke sistem case-insensitive, hal-hal membingungkan dapat terjadi pada mesin yang tidak sensitif.

File-file di mesin linux Anda adalah milik Anda. Lakukan dengan mereka sesuka Anda dengan cara yang masuk akal bagi Anda.

Saya telah menemukan bahwa konvensi menggunakan huruf besar untuk huruf utama direktori memudahkan saya untuk menavigasi mereka. Melakukan 'ls' di direktori secara otomatis menempatkan semua direktori di bagian atas daftar dan memisahkan direktori dari file-file yang membuat keduanya lebih mudah dilihat dan dinavigasi. Tetapi sekali lagi itu untuk saya - lakukan apa yang berhasil untuk Anda .


sumber
1
DOS? Betulkah? Itu tidak lagi relevan.
Maximus Minimus
3
@ mh01 Saya dulu menganggap EBCDIC tidak relevan sampai tahun lalu saya harus berurusan dengan sistem yang mengirim set karakter daripada ascii. Saya telah melihat sistem OpenVMS sekitar (rilis terbaru hanya 2 tahun yang lalu, tidak buruk untuk sesuatu yang memiliki rilis pertama 35 tahun yang lalu) ... dan sistem file-nya masih tidak sensitif huruf. Rupanya Mac memiliki case case dan sensitive case (dan steam dan photoshop tidak suka sistem file case sensitif pada mac ). Kasus sensitif masih hidup.
3
Belum lagi sebagian besar mesin desktop yang menjalankan sistem file Windows case-insensitive.
Kilian Foth
Poin bagus tentang case-insensitivity versus case-pelestarian, tetapi jika Anda memiliki file berbeda yang hanya berbeda dalam casing nama file, saya akan berpikir bahwa ada masalah selain mentransfer ke sistem file case-insensitive yang dapat menyebabkan kebingungan. ..
a CVn
9

Penggunaan "Berorientasi konsumen" (apa pun artinya) cenderung menggunakan Judul Kasus, bahkan di dunia Unix. Ini lebih sering terjadi ketika organisasi tersebut memiliki orang-orang yang seluruh pekerjaannya adalah memikirkan pengalaman pengguna.

Misalnya, desktop Ubuntu saya memiliki folder di direktori home disebut Downloads, Pictures, Documents, dll Sama berlaku untuk laptop OSX saya (ya, itu penting; itu BSD). Meskipun ada baiknya menunjukkan bahwa Apple sejauh untuk nama direktori sistemnya sendiri dengan titlecase (misalnya /Library/Audio/Apple Loops/), sambil menjaga sistem file basis "klasik" semua huruf kecil (misalnya /usr/libexec/dtrace/). Tapi tidak ada distribusi Linux yang saya ketahui menggunakan titlecase di mana saja di luar direktori home pengguna.

Mungkin perbedaannya adalah bahwa direktori yang Anda harapkan dilihat orang lain adalah titlecase, sementara tempat yang Anda harapkan orang tidak menjelajah semuanya huruf kecil. Perbedaan yang serupa tampaknya berperan dengan Ubuntu; hanya direktori yang diharapkan muncul sebagai daftar folder di jendela Nautilus adalah titlecase, sementara nama folder yang diharapkan diketik (tidak diramban) semuanya lebih rendah.

Dan itulah intinya; titlecase atau huruf besar lebih sulit untuk diketik. Tapi titlecase terlihat lebih baik dalam daftar atau set folder ubin. Jadi, pilih yang sesuai. Orang Linux sering berurusan dengan baris perintah bahkan untuk tugas-tugas biasa, jadi huruf kecil lebih masuk akal.

tylerl
sumber
Poin bagus tapi saya akan menambahkan bahwa spasi atau garis bawah lebih mudah dibaca daripada unta atau Pascal case
jk.
4

Tentang argumen DOS: Sistem file DOS / Windows memang melihat file Anda terlepas dari kasusnya, dan mereka dapat menanganinya dengan baik. Sistem file DOS yang sangat lama tidak mendukung apa pun di luar nama file 8,3, tetapi bahkan FAT32 dapat menangani nama file yang panjang. Satu-satunya masalah adalah bahwa sementara filesystem DOS / Windows menyimpan case (dalam banyak kasus; beberapa flavour case case untuk nama file yang sesuai dengan format 8.3), mereka tidak case-case sensitif ketika datang untuk membandingkan nama file; Windows menganggap "foobar", "Foobar", "FOOBAR" dan "fOObAr" adalah nama file yang sama.

Yang mengatakan, itu sebagian besar adalah masalah budaya, tetapi ada beberapa latar belakang untuk itu. Alasan mengapa konvensi khusus ini macet di dunia UNIX adalah kegunaan . Ada dua argumen utama di sini:

  • Memisahkan kata-kata menggunakan karakter non-huruf lebih baik untuk kenyamanan membaca daripada menggunakan casing untuk menandai batas kata. Jika Anda Tidak Percayai, Bandingkan Dengan IniSensensi Dengan Yang SebelumnyaSatu Dan Beritahukan Saya Yang Lebih Mudah Untuk Baca. (Dan tentu saja, novisualsparationatallistheworststst).
  • Huruf kecil memiliki bentuk yang lebih bervariasi daripada huruf besar, yang pada gilirannya mengarah ke bentuk kata yang lebih beragam. INI MEMBUAT TEKS TERTULIS DI BAWAH KURANG LEBIH MUDAH UNTUK BACA DARI TEKS TERTULIS DI BAWAH INI.

Pengamatan ini mudah diverifikasi, dan bahkan telah dikonfirmasi oleh penelitian ilmiah.

Selain itu, budaya UNIX lebih memilih konvensi yang tidak hanya mudah dibaca, tetapi juga mudah untuk ditulis; Peretas UNIX biasanya adalah orang-orang yang menghabiskan banyak waktu menggunakan keyboard mereka, dan banyak menggunakan sistem pengetikan sentuh resmi atau beberapa turunan pribadi yang disesuaikan untuk pemrograman. Konsep tetap di baris rumah adalah penting, jadi orang suka menghindari menggunakan kunci yang tidak dapat dijangkau dari baris rumah, terutama tombol shift.

Jika Anda menggabungkan ketiga kendala ini, hanya ada satu konvensi yang masuk akal, yaitu all-lowercase-with-dashes.

tammmer
sumber
3
@StephaneRolland: mengejar penamaan yang konsisten di berbagai hal seperti pengidentifikasi dalam berbagai bahasa pemrograman dan nama file tidak bijaksana. Konsisten dalam setiap bidang, dan tetap pada konvensi yang sudah mapan, tetapi jangan mencoba menemukan satu konvensi untuk mengatur semuanya. Variabel Java bukan nama tabel SQL, dan mereka juga bukan nama file.
Pelaku
@StephaneRolland - Saya yakin kata yang Anda inginkan adalah snake_case .
cchamberlain