122
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2302软件工程 |
|---|---|
| 这个作业要求在哪里 | 团队作业——bate冲刺+事后诸葛亮 |
| 这个作业的目标 | 制定代码规范 |
| 团队名称 | Let’s go |
| 团队置顶集合随笔链接 | |
| 其他参考文献 | uniapp |
uni-app 约定了如下开发规范:wx、my 等替换为 uniVue.js 规范,同时补充了应用生命周期及页面的生命周期2.1 HTML 类型
使用 HTML5 的文档类型申明:
2.2 缩进
缩进使用 2 个空格(一个 tab); 嵌套的节点应该缩进。
2.3 分块注释
在每一个块状元素,列表元素和表格元素后,加上一对 HTML 注释。
2.4 语义化标签
HTML5 中新增很多语义化标签,所以优先使用语义化标签,避免一个页面都是 div 或者 p 标 签。
2.5 引号
使用双引号(" ") 而不是单引号(’ ') 。
3.1 命名
类名使用小写字母,以中划线分割 id采用驼峰式命名 scss中的变量、函数、混合、placeholder采用驼峰式命名
3.2 选择器
css选择器中避免使用标签名 使用直接子选择器
3.3 尽量使用缩写属性
3.4 每个选择器及属性独占一行
3.5 省略 0 后面的单位
3.6 避免使用 ID 选择器及全局标签选择器防止污染全局样式
3.7 App 端,在 pages.json 里的 titleNView 或页面里写的 plus api 中涉及的单位,只支持 px。注意此时不支持 rpx
3.8在 uni-app 中不能使用 * 选择器。
3.9page 相当于 body 节点,例如:
<!-- 设置页面背景颜色,使用 scoped 会导致失效 -- >
page {
background-color: #ccc;
}
4.1 命名
4.2 代码格式
4.3 字符串
统一使用单引号(‘),不使用双引号(“)。
4.4 对象声明
4.5 使用 ES6+ 必须优先使用ES6+中新增的语法糖和函数。如:箭头函数、await/async,解构,let、for...of等待。
4.6 括号
下列关键字后必须有大括号(即使代码只有一行):if、else、for、while、do、switch、try、catch、finally、with。
4.7 undefined 判断
不直接使用 undefined 进行变量判断;使用 typeof 和字符串’undefined’对变量进行判断。
4.8 条件判断和循环最多三层 如果超过三层抽成函数,并写清注释
4.9 this 的转换命名
对上下文this的引用只能使用'self'来命名。
4.10 慎用 console.log
因console.log大量使用会有性能问题,所以在非webpack项目中谨慎使用log功能。
4.11 uni-app的非H5端,一样支持标准js,支持if、for等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持window、document、navigator等浏览器专用对象。
5.1. 组件规范
5.2 模板中使用简单的表达式
组件模板应该只包含简单的表达式,复杂的表达式则应该重构为计算属性或方法。复杂表达式会让你的模板变得不那么声明式。我们应该尽量描述应该出现的是什么,而非如何计算那个值。而且计算属性和方法使得代码可以重用。
5.3 指令都使用缩写形式
指令推荐都使用缩写形式,(用 : 表示 v-bind: 、用 @ 表示 v-on: 和用 # 表示 v-slot:)
5.4 标签顺序保持一致
单文件组件应该总是让标签顺序保持为
5.5 必须为 v-for 设置键值 key
5.6 v-show 与 v-if 选择
如果运行时,需要非常频繁地切换,使用 v-show ;如果在运行时,条件很少改变,使用 v-if。
5.7 script 标签内部结构顺序
components > props > data > computed > watch > filter > 钩子函数(钩子函数按其执行顺序) > methods
5.8 Vue Router 规范
5.9 Vue 项目目录规范