-
- 1) api 目录
-
2) assets 目录
-
3) components 目录
-
- 4) constants 目录
-
5) router 与 store 目录
-
- 6) views 目录
-
2.2.4 注释说明
-
2.2.5 其他
-
- 1) 尽量不要手动操作 DOM
-
2) 删除无用代码
规范的目的是为了编写高质量的代码,让你的团队成员每天得心情都是愉悦的,大家在一起是快 乐的。
引自《阿里规约》的开头片段:
----现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难 以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果
没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩坑,杜绝踩 重复的坑,切实提升系统稳定性,码出质量。
(一) 命名规范
1.1.1 项目命名
全部采用小写方式,以中线分隔。
正例:mall-management-system
反例:mall_management-system / mallManagementSystem
1.1.2 目录命名
全部采用小写方式, 以中划线分隔,有复数结构时,要采用复数命名法, 缩写不用复数。
正例: scripts/styles/components/images/utils/layouts/demo-styles/demo-scripts/img/doc
反例: script/style/demo_scripts/demoStyles/imgs/docs
【特殊】VUE 的项目中的 components
中的组件目录,使用 kebab-case
命名。
正例: head-search/page-loading/authorized/notice-icon
反例:HeadSearch/PageLoading
【特殊】VUE 的项目中的除 components
组件目录外的所有目录也使用 kebab-case
命名。
正例: page-one/shopping-car/user-management
反例: ShoppingCar/UserManagement
1.1.3 JS、CSS、SCSS、HTML、PNG 文件命名
全部采用小写方式, 以中划线分隔。
正例: render-dom.js/signup.css/index.html/company-logo.png
反例: renderDom.js/UserManagement.html
1.1.4 命名严谨性
代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的 英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用
正例:henan/luoyang/rmb 等国际通用的名称,可视同英文
反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3
杜绝完全不规范的缩写,避免望文不知义:
反例: AbstractClass
“缩写”命名成 AbsClass
;condition
“缩写”命名成 condi
,此类随意缩写严重 降低了代码的可阅读性。
(二) HTML 规范 (Vue Template 同样适用)
1.2.1 HTML 类型
推荐使用 HTML5 的文档类型申明:
(建议使用 text/html 格式的 HTML。避免使用 XHTML。XHTML 以及它的属性,比如 application/xhtml+xml 在浏览器中的应用支持与优化空间都十分有限)。
规定字符编码
IE 兼容模式
规定字符编码
doctype 大写
正例:
![Company](images/company-logo.png)
1.2.2 缩进
缩进使用 2 个空格(一个 tab);
嵌套的节点应该缩进。
1.2.3 分块注释
在每一个块状元素,列表元素和表格元素后,加上一对 HTML 注释。
1.2.4 语义化标签
HTML5 中新增很多语义化标签,所以优先使用语义化标签,避免一个页面都是 div 或者 p 标 签。
正例
反例
1.2.5 引号
使用双引号(" ") 而不是单引号(’ ') 。
正例: <div class=”box”></div>
反例:<div class=’box’></div>