寫這篇博客的動機很簡單,就是我週末閒的無聊,爬了github上star數前1000的js項目的全部文件的名稱,看看大佬們都喜歡給文件和目錄取什麼名字,我跟着學兩招也好顯得我比較專業。css
注意是js項目啊,你要是搞java的搞PHP的,也跟着學搞很差會被拿去祭天。vue
排除掉了.babelrc
,package.json
,.github
這類文件,獲得了93117個文件名。java
而後我對文件名計數,同一個項目中屢次出現的名稱只計算一次。也就是1000個項目中,出現頻次最高的名稱也不會超過1000。git
結果這裏寫不下,能夠點擊這裏看全部結果,我畫了個圖你們感覺一下就好了github
有點意外,出現次數最多的是test
,565次,其次纔是是src
,556次vue-cli
顧名思義,src
是源代碼,test
就是測試,一樣js
,css
,img
這些目錄名都很直觀。npm
可是也有一些不太直觀的名字在這些項目中也大量出現,好比legacy
,benchmarks
,fixtures
等等。json
下面列出了一些經常使用的名稱,並非按出現頻次排序,可是列出來的都是出現頻次很是高的 單複數形式都出現了的只列出次數最多的 注意,都是目錄名稱,不是文件名設計模式
src,source
源代碼,用src
居多api
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哦