前言
写这篇博客的动机很简单,就是我周末闲的无聊,爬了github上star数前1000的js项目的所有文件的名称,看看大佬们都喜欢给文件和目录取什么名字,我跟着学两招也好显得我比较专业。
注意是js项目啊,你要是搞java的搞PHP的,也跟着学搞不好会被拿去祭天。
“我自己是一名从事了5年web前端开发的老程序员,辞职目前在做线上教育讲师,每晚都会在群内直播,加QQ群:465611429,今年年初我花了一个月整理了一份最适合2018年学习的web前端干货,从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是前端学习者聚集地,欢迎初学和进阶中的小伙伴。
统计结果
排除掉了 .babelrc
, package.json
, .github
这类文件,得到了93117个文件名。
然后我对文件名计数,同一个项目中多次出现的名称只计算一次。也就是1000个项目中,出现频次最高的名称也不会超过1000。
结果这里写不下,我画了个图大家感受一下就行了
有点意外,出现次数最多的是 test
,565次,其次才是是 src
,556次
顾名思义, src
是源代码, test
就是测试,同样 js
, css
, img
这些目录名都很直观。
但是也有一些不太直观的名字在这些项目中也大量出现,比如 legacy
, benchmarks
, fixtures
等等。
常用名称
下面列出了一些常用的名称,并不是按出现频次排序,但是列出来的都是出现频次非常高的 单复数形式都出现了的只列出次数最多的 注意,都是目录名称,不是文件名
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
适配器,适配器模式是一种很常用的设计模式
legacy
一般用来放兼容历史版本或兼容旧浏览器的代码
config
配置文件
benchmarks
benchmarks测试,又叫基准测试或性能测试。用来测试版本的性能变化
unit,spec
单元测试,一般在 test
目录下
e2e
端对端测试,一般在 test
目录下
assets,vendor
资源,一般用来放图片或css文件
static
静态资源
examples,demo
示例
component
组件
plugins
插件
bin
命令脚本,命令行工具经常会用到
common
公用的文件
packages
很多项目会打包出多个npm包,用来减小体积,一般会用 packages
来放不同的包
misc
杂项,miscellaneous的缩写
core
核心文件
还有一大堆,总共500多个,我不一一解释了
后话
其实大部分文件名看名字就能知道意思,也有一些是约定俗成的缩写。 相比之下更有意义的是对变量和函数名称的分析,我下次把这些项目的所有js文件内容爬下来然后再做一个分析。