怎樣給檔案命名才能顯得更加專業

莫夭發表於2018-02-26

前言

寫這篇部落格的動機很簡單,就是我週末閒的無聊,爬了github上star數前1000的js專案的所有檔案的名稱,看看大佬們都喜歡給檔案和目錄取什麼名字,我跟著學兩招也好顯得我比較專業。

注意是js專案啊,你要是搞java的搞PHP的,也跟著學搞不好會被拿去祭天。

統計結果

排除掉了.babelrcpackage.json.github這類檔案,得到了93117個檔名。

然後我對檔名計數,同一個專案中多次出現的名稱只計算一次。也就是1000個專案中,出現頻次最高的名稱也不會超過1000。

結果這裡寫不下,可以點選這裡看所有結果,我畫了個圖大家感受一下就行了

怎樣給檔案命名才能顯得更加專業

有點意外,出現次數最多的是test,565次,其次才是是src,556次

顧名思義,src是原始碼,test就是測試,同樣jscssimg這些目錄名都很直觀。

但是也有一些不太直觀的名字在這些專案中也大量出現,比如legacybenchmarksfixtures等等。

常用名稱

下面列出了一些常用的名稱,並不是按出現頻次排序,但是列出來的都是出現頻次非常高的 單複數形式都出現了的只列出次數最多的 注意,都是目錄名稱,不是檔名

  • src,source
    原始碼,用src居多

  • test,__tests__
    測試檔案,也經常用__test__,facebook的測試框架jest預設的測試檔案目錄就是__test__

  • docs
    文件

  • lib
    庫檔案,library的縮寫

  • dist
    用來放打包編譯後的檔案,應該是distribution的縮寫

  • build,scripts
    構建指令碼

  • utils,tools,helpers
    工具程式碼

  • controllers,views,middlewares,models
    MVC對應的models,views,controllers,還有中介軟體middlewares

  • router
    路由

  • server
    用來放服務端程式碼

  • adapters
    介面卡,介面卡模式是一種很常用的設計模式
    栗子:github.com/hubotio/hub…

  • legacy
    一般用來放相容歷史版本或相容舊瀏覽器的程式碼
    栗子:github.com/julianshapi…

  • config
    配置檔案

  • benchmarks
    benchmarks測試,又叫基準測試或效能測試。用來測試版本的效能變化

  • unit,spec
    單元測試,一般在test目錄下

  • e2e
    端對端測試,一般在test目錄下

  • assets,vendor
    資源,一般用來放圖片或css檔案

  • static
    靜態資源

  • examples,demo
    示例

  • component
    元件

  • plugins
    外掛

  • bin
    命令指令碼,命令列工具經常會用到 栗子:github.com/vuejs/vue-c…

  • common
    公用的檔案

  • packages
    很多專案會打包出多個npm包,用來減小體積,一般會用packages來放不同的包 栗子:github.com/babel/babel…

  • misc
    雜項,miscellaneous的縮寫
    栗子:github.com/babel/babel…

  • core
    核心檔案
    栗子:github.com/mrdoob/thre…

還有一大堆,總共500多個,我不一一解釋了,有興趣可以點選看統計結果

後話

其實大部分檔名看名字就能知道意思,也有一些是約定俗成的縮寫。 相比之下更有意義的是對變數和函式名稱的分析,我下次把這些專案的所有js檔案內容爬下來然後再做一個分析。

部落格都會先發布在github上,期待後續的同學點個star哦

我的部落格 github.com/hujiulong/b…

相關文章