2013-03-23 49 views
0

開源項目通常帶有自述文件,包含許可證文本的文件以及其他各種各樣的內容。通常,人們會發現這些各種文檔文件都是在沒有文件擴展名的情況下命名的。 Here是Github的一個例子。名稱通常以大寫形式存在,如「自述文件」而不是「readme.txt」。爲什麼開源項目經常有沒有文件擴展名的文檔文件?

這有點麻煩,因爲如果你下載了一個項目副本,爲了打開這些文件,你必須添加一個文件擴展名或每次,指示操作系統應該在哪個程序中打開它爲什麼有人會不喜歡不添加文件擴展名?這種刺激性慣例從何而來?

+0

我認爲這是github的默認值。實際上它是用於github的README.md,當你創建一個新的存儲庫時,它會自動添加這個文件,我想開發者不會編輯它 – TravellingGeek 2013-03-23 02:31:38

+1

如果你從終端啓動你的文本編輯器,許多hardcore * nixers如果有文件擴展名,則沒有什麼區別。 – FatalError 2013-03-23 02:33:38

+1

由於大多數開源項目不需要輸入額外字符來支持8.3源代碼在閉源操作系統上的命名,或者想要猜測哪些文件擴展名與某人首選的文本編輯器相關聯。 – 2013-03-26 14:28:41

回答

10

如果你已經使用了Linux系統多(或其他傳統的類UNIX系統,如BSD系統),你將有可能發現許多類型的文件缺乏擴展,包括可執行文件。

Linux和其他* nix系統往往依賴於(如魔術編碼開頭,其中許多文件格式有)大於該文件的擴展名來確定文件的類型,其他的方法。如果您的系統具有「文件」實用程序(預安裝在除Windows之外的大多數操作系統上),則可以對此進行測試。

命名文件自述文件和不帶擴展名的練習日期相差很遠。在控制檯上工作時,您傾向於通過執行類似program ./path/to/file的打開文件,其中'program'是要打開的程序的名稱,'./path/to/file'是文件的路徑你想打開(在這種情況下,或絕對相對)。由於您正在指導一個特定的程序來打開文件,因此不需要進行實際的檢測來確定要打開哪個程序(儘管通常現代文本程序會嘗試檢測非文本文件併發出警告)。

另一方面,Windows將文件擴展名與特定程序相關聯以將其打開;它不會查看文件內容以確定要打開哪個程序。要在Windows中打開沒有擴展名的文件,只需右鍵單擊文件,然後選擇要打開的程序。

在圖形環境中爲Linux(和其他的* nix操作系統),文件擴展名是沒有必要的,因爲他們不完全依賴於擴展名來確定文件的類型,或與其關聯哪個程序。相反,關聯由MIME類型確定,而MIME類型又可以由上述「魔術代碼」確定。

1

我認爲它來自舊的Linux或UNIX系統,您所擁有的僅僅是一個控制檯和一些文本編輯器。沒有什麼可以根據文件名的一部分自動選擇程序。許多Linux用戶在處理文件和目錄時繼續以這種方式工作。我曾經這樣做過,直到我看到人們在使用Windows資源管理器和鼠標工作時運行速度非常快。

而是將文件以大寫字母命名,因爲ls將在ASCII整理順序列出,作者希望這些文件第一次出現。 (我不確定它是否仍然有效。)那時,他們正在幫忙!

+0

它不一定是舊的 - 來自新的* nix軟件的這些文件通常也沒有擴展名。正如Kitsune所說,擴展並不是系統確定文件類型的唯一途徑。所以,就像你說的那樣,「那時候,他們正在幫忙」;現在,它們仍然是有用的。*此外,關於大寫字母的觀點只能解決問題的一個側面 - 它可能被命名爲「README.txt」或「README.TXT」。 – 2013-03-26 12:52:03

+1

@EliahKagan我希望我沒有得罪你。我認爲在當今的環境中,這些開發人員可以包含擴展程序,因爲它可以幫助Windows用戶,而且大多數Linux用戶可以自動完成消除額外的輸入。並不是說這些開發人員一定不喜歡Windows用戶;他們可能只是沒有想到它。 :) – entheh 2013-03-26 14:42:03