规范
一、文件规范
1.1 命名
- 无论文件夹和文件,统统小写 (这是文件,是针对于生产中的文件而言,而不是开发中的文件)
- 且两个单词及以上使用中划线
-
,不要使用空格_
;
很多计算机,特别是 Web 服务器,是对大小写敏感的。比如,如果你保存一张图片 test-site/MyImage.jpg,然后在另一处试图以 test-site/myimage.jpg 访问这张图片,可能会失败。
浏览器、Web 服务器,还有编程语言处理空格的方式不一致。比如,一些系统会将包含空格的文件名其视为两个。一些服务器将会把文件名里的空格替换为 “%20”(URI 里空格的编码),从而使链接遭到破坏。最好使用中划线,而不是下划线来分离单词。谷歌搜索引擎把连字符当作单词的分隔符, 但不会识别下划线。
简言之,文件名中应使用连字符(在英文中,连字符只指“中划线”,不包括上划线和下划线。中文有破折号——
和波浪号~
,不建议使用中文命名)。基于此,最好在一开始就养成习惯,文件夹和文件名使用小写,用短横线而不是空格来分隔,可以避免许多问题。
注意,现在前端开发都是基于 webpack 这些模块打包工具开发,这些工具是认得大小写的,它们会帮助我们转换成符合以往的命名规范。
所以,刚才论述的命名规范也可以跟进现在的开发步骤,现在流行的是组件名称采取大驼峰写法
1.2 文件结构
当然以下结构只具有参考意义,还是要以团队的规范为中心
这里我以我 TypeScript 开发 Vue 为例子,挑两个重点:
├─api
│ └─home(和页面对应)
│ ├─index.ts(接口,只接收参数,处理服务器数据,输出页面/组件需要的格式,切记不能在页面/组件中处理数据!不然太耦合了)
│ └─type.ts (定义接口的参数类型、输出类型)
├─views
│ └─home
│ ├─index.ts (页面入口)
│ └─components (页面级别的组件)
│ │ └─ ...
│ └─imgs (页面级别的图片)
│ └─ ...
二、编码规范
2.1 变量命名规范
在 JavaScript 中,常见的有匈牙利命名法(第一个字母表示该变量的类型),驼峰式命名法(小驼峰,第一个字母小写)和帕斯卡命名法(大驼峰,首字母大写)
在c语言、python中,也常常有单词间以下划线连接来命名函数和变量,比如:
let sum_flag=1;
function add_tow_number(){}
在 Java 中,通常都是类名称是大驼峰,变量是小驼峰,方法也是小驼峰。
因为有了 TypeScript 的出现,js 编程中,匈牙利命名法可以抛弃了。有了类型,就可以跟着老大哥 Java 学习
在很多著名的开源库,比如 Vue,也是跟着 Java 的规范走的
但是,我们知道,现在 JavaScript 有类、有函数、有变量,往往函数、变量的名称是一样的命名,所以函数我觉得可以采取下划线连接!
四、其他的规范方法论
- css和dom网易规范
- BEM规范