Menggunakan garis bawah pada nama file?

25

Saya sering menggunakan baris perintah untuk menavigasi file saya jadi saya mencoba untuk tidak memiliki spasi dalam nama file. Biasanya saya telah menggunakan garis bawah untuk menghubungkan kata-kata tetapi baru-baru ini saya disarankan untuk menggunakan tanda hubung. Apakah ada kerugian menggunakan garis bawah pada nama file? Haruskah saya beralih ke tanda hubung? Sistem saya menjalankan Xubuntu dan saya hampir secara eksklusif menggunakan bash shell.

Terima kasih

DQdlM
sumber
1
Jika Anda akan menggunakan LaTeX Anda mungkin harus melindungi nama file di dalam beberapa tanda kurung {...}. Dalam hal skrip otomatis, Anda harus mempertimbangkannya. Yang _digunakan untuk membuat subscript dan harus dimasukkan misalnya dalam $...$kesalahan menghindari, tetapi akan menghasilkan yang berbeda teks dari apa yang Anda harapkan. Di terminal yang disempurnakan dari gnuplot juga ..
Hastur

Jawaban:

22

Sejauh menyangkut sistem operasi mereka berdua dapat digunakan satu sama lain.

Satu hal yang saya perhatikan - beberapa perangkat lunak (seperti beberapa sistem pemutaran video - XBMC dll) akan secara otomatis mengganti garis bawah dengan spasi saat menampilkan file agar terlihat lebih bagus.

Untuk alasan itu saja saya akan tergoda untuk tetap berpegang pada garis bawah.

Selain itu, tanda hubung digunakan untuk beralih ke perintah, sehingga mungkin sedikit membingungkan memiliki tanda hubung dalam nama file Anda serta di sakelar perintah Anda.

Selain itu, itu murni pilihan pribadi.

Majenko
sumber
1
Saya menggunakan hythens, tapi itu karena saya suka tampilan yang lebih baik. Untuk alasan teknis di baliknya.
beatgammit
Terima kasih! Itulah yang saya duga tetapi saya juga menemukan bahwa hanya dengan kecurigaan saja saya bisa mendapat masalah.
DQdlM
16

Dash tidak mengharuskan Anda menekan SHIFT, artinya Anda mengetik lebih cepat. Itulah satu-satunya manfaat lain yang bisa saya pikirkan di atas apa yang disarankan Pak Jenkins.

Mungkin orang yang membuat saran itu adalah pengguna Vim yang rajin dan ingin melakukan segalanya dengan jumlah gerakan keyboard yang paling sedikit.

LawrenceC
sumber
7
Jika itu adalah kasus yang mereka gunakan visebagai gantinya - satu kurang penekanan tombol;)
Majenko
4
@ Matt itu alias'ed untuk vtetap ;-)
Daniel Beck
+1 Untuk alasan yang sama ini saya menggunakan garis bawah dengan nama semua huruf besar, seperti FOO_BAR(Saya tidak menggunakan huruf besar, jadi senang bisa tahan tombol Shift sepanjang waktu).
Richard Hansen
@DanielBeck Saya benar-benar memilikinya di alias bash saya, dan juga guntuk git:)
Jan Warchoł
Saya percaya vim menganggap dua kata yang dipisahkan oleh tanda hubung sebagai satu kata, jadi ini bisa menjadi alasan untuk menggunakan garis bawah pada nama file sebagai pengguna vim.
oddRaven
8

Rekomendasi saya adalah menggunakan garis bawah sebagai ganti spasi. Garis bawah biasanya adalah konvensi yang digunakan orang ketika mengganti spasi, meskipun tanda hubung juga boleh saya katakan. Tetapi karena tanda hubung mungkin muncul dengan cara lain seperti kata ditulis dgn tanda penghubung, Anda akan lebih berhasil dalam menjaga nilai nama dengan menggunakan garis bawah. Misalnya, jika Anda memiliki file bernama "Gambar yang diambil di Winston-Salem, NC.jpg" dan Anda ingin mengonversi spasi menjadi garis bawah, maka Anda dapat menyimpan tanda hubung dalam nama dan mempertahankan artinya.

Spasi menyebabkan masalah bagi orang-orang yang ingin menggunakan baris perintah dalam cara-cara lanjut seperti dalam untuk loop seperti ini:

for file in *.mp3 ; do mpg321 $file -w - | oggenc -o ${file%%.mp3}.ogg - ; done

Jika salah satu file mp3 yang cocok dengan wildcard tersebut memiliki spasi dalam namanya, itu akan menyebabkan nama file dipecah menjadi beberapa bagian, bukan keseluruhan. Anda dapat menyiasatinya dengan mengubah variabel IFS BASH shell atau menggunakan perintah find, tetapi ini adalah gangguan dan banyak orang tidak mengetahui hal ini, sehingga dapat menyebabkan masalah.

Saya ragu ini atau bahkan kampanye stiker bemper akan mencegah orang menaruh spasi di nama file, tetapi jika Anda ingin membantu diri sendiri, lebih banyak kekuatan untuk Anda dan terima kasih atas nama kami yang peduli.

deltaray
sumber
1
Saya setuju sepenuhnya. Nama file yang dibangun dengan baik tidak membutuhkan ruang.
DQdlM
4
@ KennyPeanuts - tetapi program yang ditulis dengan baik tidak tersedak ruang.
detly
2
@detly - touche '
DQdlM
1
@tidak Tidak, seorang programmer yang baik mengerti bahwa harus ada batasan dalam apa yang dapat Anda lakukan dan harus lakukan. Jika Anda mengatakan itu seharusnya tidak tersedak ruang, maka seseorang dapat mengatasinya dan mengatakan itu seharusnya tidak tersumbat di ujung baris, maka seseorang akan mengatakan itu tidak tersumbat pada /, maka seseorang dapat mengatakan itu tidak tersedak di akhir file. Ada pepatah lama "Formula untuk kegagalan: cobalah untuk menyenangkan semua orang".
deltaray
1
Spesifikasi sistem file memberi tahu Anda apa yang harus dikodekan, tidak lebih, tidak kurang. Pada Ext2 / 3/4, misalnya, nama file dapat berisi karakter apa pun kecuali \0atau \\\`. Coding to anything less than that is broken by design. So, no, it shouldn't choke on spaces, or EOL, or non-ASCII characters, or anything that isn't \ 0` atau `\`. Menggunakan fungsi pustaka untuk manipulasi jalur file adalah cara yang harus dilakukan, karena banyak orang lain telah menyelesaikan masalah ini.
detly
5

Satu-satunya alasan Anda harus mempertimbangkan menggunakan tanda hubung daripada menggarisbawahi adalah untuk keterbacaan dasar. Garis bawah yang sering cenderung mendistorsi bacaan, karena mengubah garis visi Anda dari pusat sumbu y ke bawah. Namun tanda hubung memudahkan mata.

Sejauh sistem operasi disimpulkan, kedua karakter sama-sama valid, dan tidak perlu melarikan diri (yang dilakukan ruang, dan karenanya merepotkan untuk dikerjakan).

Varun Madiath
sumber
2
Saya menemukan alasan keterbacaan dasar untuk menjadi murni subjektif. Saya menemukan garis bawah lebih mudah dibaca karena saya secara visual dapat mengabaikannya - tidak membacanya - sedangkan tanda hubung saya sebenarnya harus membacanya.
goliatone
3

Saya pribadi lebih suka tanda hubung daripada garis bawah karena Anda tidak perlu menahan tombol shift untuk mereka. Tetapi satu hal yang perlu diingat adalah bahwa jika Anda terutama melakukan pengkodean python - dan pohon kode Anda memiliki file / direktori dengan tanda hubung di dalamnya dan Anda bermaksud menggunakannya sebagai modul (lakukan impor nama file dalam kode Anda), maka ini akan menyebabkan kesalahan sebagai modul python tidak dapat memiliki tanda hubung di dalamnya. Tentu saja, ada cara bundaran mengimpor modul yang memiliki tanda hubung tapi saya tetap dengan garis bawah karena juga mengikuti pedoman PEP-8.

Jadi untuk sebagian besar bin / program atau alias saya menggunakan tanda hubung tetapi ketika harus menulis program / modul python - Saya menggunakan garis bawah.

Saurabh Hirani
sumber
2

Ada alasan bagus untuk menggunakan tanda hubung dalam konteks berbasis web apa pun yang memetakan ke sistem file Unix.

URL               What search indexes see
foo-baz-bang      foo baz bang
foo_baz_bang      foobazbang

Sebagai pengembang web, ini memaksa saya untuk tetap menggunakan tanda hubung saat memisahkan kata.

kaya remer
sumber
1
Konteks yang disebutkan di atas mungkin terkait dengan - antara lain - posting blog Matt Cutts 2005 yang melibatkan preferensi algoritme Google untuk tanda hubung vs garis bawah sebagai indikator yang lebih baik dari placeholder ruang putih.
jmmygoggle