前言写这篇博客的动机很简单,就是周末无聊,爬了github上所有star数前1000的js项目的文件名,看看大佬们都喜欢给文件和目录起名字,我就学两招让自己显得更专业。注意是js项目。如果你是搞Java和PHP的,你也会学,说不定会被拿去祭祀上天。统计结果排除.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是用来打包编译的文件应该是distributionbuild的缩写,scriptsbuildscriptsutils,tools,helperstoolcodecontrollers,views,middlewares,modelsMVC对应的models,views,controllers,middlewaresrouter中间件routerserver是用来放服务器代码的Adapters,adapter模式是一个很常见的设计模式栗子:https://github.com/hubotio/hu...legacy一般用来放兼容历史版本或者兼容老浏览器的代码栗子:https://github.com/julianshap...config配置文件benchmarksbenchmarks测试,也称为基准测试或性能测试。用于测试version单元、spec单元测试的性能变化,一般在test目录下e2e端到端测试,一般在test目录下assets、vendor资源,一般用来放图片或者css文件static静态资源示例,demo示例组件Componentpluginspluginbin命令脚本,命令行工具经常用到栗子:https://github.com/vuejs/vue-...common常用文件包很多项目都会打包多个npm包来减少体积,一般使用packages放不同的packagesnut:https://github.com/babel/babe...miscmiscellaneous,miscellaneous简称栗子:https://github.com/babel/babe...core核心文件栗子:https://github.com/mrdoob/thr...还有很多,一共500多条,我就不一一解释了,有兴趣的可以点击查看统计结果,那么其实大部分文件名名字都能看出意思,有的是约定俗成的缩写。相比之下,变量名和函数名的分析更有意义。下次我会爬取这些项目的所有js文件内容,然后再做分析。打个广告:我的博客https://github.com/hujiulong/...欢迎star
