Linux檔名小寫的好處(轉)

weixin_34221276發表於2017-12-27

說明:來自老阮的《為什麼檔名要小寫》的文章,其實我覺得應該說是《Linux檔名為什麼要小寫》會更合適些。

一、可移植性

Linux 系統是大小寫敏感的,而 Windows 系統和 Mac 系統正好相反,大小寫不敏感。一般來說,這不是大問題。

但是,如果兩個檔名只有大小寫不同,其他都相同,跨平臺就會出問題。

  • foobar
  • Foobar
  • FOOBAR
  • fOObAr

上面四個檔名,Windows 系統會把它們都當作foobar。如果它們同時存在,你可能沒辦法開啟後面三個檔案。

另一方面,在 Mac 系統上開發時,有時會疏忽,寫錯大小寫。


// 正確檔名是 MyModule.js
const module = require('./myModule');

上面的程式碼在 Mac 上面可以執行,因為 Mac 認為MyModule.jsmyModule.js是同一個檔案。但是,一旦程式碼到伺服器執行就會報錯,因為 Linux 系統找不到myModule.js

如果所有的檔名都採用小寫,就不會出現上面的問題,可以保證專案有良好的可移植性。

二、易讀性

小寫檔名通常比大寫檔名更易讀,比如accessibility.txt就比ACCESSIBILITY.TXT易讀。

有人習慣使用駝峰命名法,單詞的第一個字母大寫,其他字母小寫。這種方法的問題是,如果遇到全部是大寫的縮略詞,就會不適用。

比如,一個姓李的紐約特警,無論寫成NYPoliceSWATLee還是NyPoliceSwatlee,都怪怪的,還是寫成ny-police-swat-lee比較容易接受。

三、易用性

某些系統會生成一些預置的使用者目錄,採用首字母大寫的目錄名。比如,Ubuntu 在使用者主目錄會預設生成Downloads、 PicturesDocuments等目錄。

Mac 系統更過分,一部分系統目錄也是大寫的,比如/Library/Audio/Apple Loops/

另外,某些常見的配置檔案或說明檔案,也採用大寫的檔名,比如MakefileINSTALLCHANGELOG.Xclients.Xauthority等等。

所以,使用者的檔案都採用小寫檔名,就很方便與上面這些目錄或檔案相區分。

如果你打破砂鍋問到底,為什麼作業系統會採用這樣的大寫檔名?原因也很簡單,因為早期 Unix 系統上,ls命令先列出大寫字母,再列出小寫字母,大寫的路徑會排在前面。因此,如果目錄名或檔名是大寫的,就比較容易被使用者首先看到。

四、便捷性

檔名全部小寫,還有利於命令列操作。比如,某些命令可以不使用-i引數了。


# 大小寫敏感的搜尋
$ find . -name abc
$ locate "*.htmL"

# 大小寫不敏感的搜尋
$ find . -iname abc
$ locate -i "*.HtmL"

另外,大寫字母需要按下 Shift 鍵,多多少少有些麻煩。如果檔名小寫,就不用碰這個鍵了,不僅省事,還可以提高打字速度。

程式設計師長時間使用鍵盤,每分鐘少按幾次 Shift,一天下來就可以省掉很多手指動作。長年累月,也是對自己身體的一種保護。

綜上所述,檔名全部使用小寫字母和連詞線(all-lowercase-with-dashes),是一種值得推廣的正確做法。

 

參考:

http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html(以上內容轉自此篇文章)

==>如有問題,請聯絡我:easonjim#163.com,或者下方發表評論。<==

相關文章