日期: 2023年2月10日
上週,《中文技術文件寫作規範》加入了檔案的命名規則。
"檔名建議只使用小寫字母,不使用大寫字母。"網友看見了,就提問為什麼檔名要小寫?"為了醒目,某些說明檔案的檔名,可以使用大寫字母,比如
readme
、license
。"
說實話,雖然這是 linux 傳統,我卻從沒認真想過原因。趕緊查資料,結果發現四個很有說服力的理由,支援這樣做。
下面就是這四個理由。另外,文後我還會發布一條前端培訓的訊息。
linux 系統是大小寫敏感的,而 windows 系統和 mac 系統正好相反,大小寫不敏感。一般來說,這不是大問題。
但是,如果兩個檔名只有大小寫不同,其他都相同,跨平台就會出問題。
上面四個檔名,windows 系統會把它們都當作foobar
。如果它們同時存在,你可能沒辦法開啟後面三個檔案。
另一方面,在 mac 系統上開發時,有時會疏忽,寫錯大小寫。
上面的**在 mac 上面可以執行,因為 mac 認為// 正確檔名是 mymodule.js
const module =
require(
'./mymodule'
);
mymodule.js
和mymodule.js
是同乙個檔案。但是,一旦**到伺服器執行就會報錯,因為 linux 系統找不到mymodule.js
。
如果所有的檔名都採用小寫,就不會出現上面的問題,可以保證專案有良好的可移植性。
小寫檔名通常比大寫檔名更易讀,比如accessibility.txt
就比accessibility.txt
易讀。
有人習慣使用駝峰命名法,單詞的第乙個字母大寫,其他字母小寫。這種方法的問題是,如果遇到全部是大寫的縮略詞,就會不適用。
比如,乙個姓李的紐約特警,無論寫成nypoliceswatlee
還是nypoliceswatlee
,都怪怪的,還是寫成ny-police-swat-lee
比較容易接受。
某些系統會生成一些預置的使用者目錄,採用首字母大寫的目錄名。比如,ubuntu 在使用者主目錄會預設生成downloads
、pictures
、documents
等目錄。
另外,某些常見的配置檔案或說明檔案,也採用大寫的檔名,比如makefile
、install
、changelog
、.xclients
和.xauthority
等等。
所以,使用者的檔案都採用小寫檔名,就很方便與上面這些目錄或檔案相區分。
如果你打破砂鍋問到底,為什麼作業系統會採用這樣的大寫檔名?原因也很簡單,因為早期 unix 系統上,ls
命令先列出大寫字母,再列出小寫字母,大寫的路徑會排在前面。因此,如果目錄名或檔名是大寫的,就比較容易被使用者首先看到。
檔名全部小寫,還有利於命令列操作。比如,某些命令可以不使用-i
引數了。
# 大小寫敏感的搜尋
$ find .
-name abc
$ locate "*.html"
# 大小寫不敏感的搜尋
另外,大寫字母需要按下 shift 鍵,多多少少有些麻煩。如果檔名小寫,就不用碰這個鍵了,不僅省事,還可以提高打字速度。
程式設計師長時間使用鍵盤,每分鐘少按幾次 shift,一天下來就可以省掉很多手指動作。長年累月,也是對自己身體的一種保護。
綜上所述,檔名全部使用小寫字母和連詞線(all-lowercase-with-dashes),是一種值得推廣的正確做法。
(正文完)
from:
為什麼檔名要小寫?
日期 2017年2月10日 上週,中文技術文件寫作規範 加入了檔案的命名規則。檔名建議只使用小寫字母,不使用大寫字母。為了醒目,某些說明檔案的檔名,可以使用大寫字母,比如readme license。看見了,就提問為什麼檔名要小寫?說實話,雖然這是 linux 傳統,我卻從沒認真想過原因。趕緊查資料...
為什麼檔名要小寫?
日期 2017年2月10日 上週,中文技術文件寫作規範 加入了檔案的命名規則。檔名建議只使用小寫字母,不使用大寫字母。為了醒目,某些說明檔案的檔名,可以使用大寫字母,比如readme license。看見了,就提問為什麼檔名要小寫?說實話,雖然這是 linux 傳統,我卻從沒認真想過原因。趕緊查資料...
git檔名大小寫問題
於 在windows下,一開始提交了乙個coinlog.js檔案,後來把它重新命名為coinlog.js,居然提交不了。git提示沒有改動。後來才知道,原來git預設對檔名的大小寫不敏感。方案1,配置git 首先可以通過配置git來達到識別檔名大小寫的問題。命令如下 git config core....