Javascript规范
● if else 嵌套深 使用三元运算符 或 switch case
● * 禁止使用var 使用let const
● 使用箭头函数
● 尽量使用 Array、Object 扩展函数
● 放弃使用jquery 改用vue ref操作dom
● 参数获取,对象拷贝,数组扩展等使用解构方式。
● Component 中静态数据单独存放或者定义在store中
● 变量、函数使用小驼峰 eg: userName. 类名、接口使用大驼峰 eg:UserClass
● * 禁止使用中文作条件判断
● * 禁止行内样式 出现style属性
● v-for 后面一定要加key
● 尽量使用v-if 对于频繁的显示影藏使用v-show
● 对于class复制条件放入计算属性中
● js中对象的属性名定义尽量不使用引号 除特殊情况
● 减少操作window对象, 若必须组建销毁前一定要清理掉window添加的对象
●
window.addEventListener("message", function(event) {});
● 提取公共组件
● 对于函数或对象原型的扩展使用类的方式
● 减少代码冗余
● 全部采用axios 方式请求数据 (不要使用ajax)
● 接口操作、状态操作全部分离
● 页面分模块开发
● 作为条件判断显示或者有无 使用is 、has 开头
● vue 方法放置顺序
export default {
name: 'componentName',
components: [],
props: {},
data() {
return [];
},
computed: {},
// 钩子函数
created() {},
metods: {},
filter: {},
watch: {}
};
● method 自定义方法命名
■ 动宾短语(good:jumpPage、openCarInfoDialog)(bad:go、nextPage、show、open、login)
■ ajax 方法以 get、post 开头,以 data 结尾(good:getListData、postFormData)(bad:takeData、confirmData、getList、postForm)
■ 事件方法以 on 开头(onTypeChange、onUsernameInput)
■ init、refresh 单词除外
■ 尽量使用常用单词开头(set、get、open、close、jump)
■ 驼峰命名(good: getListData)
● 常量命名必须大写以下划线连接,所有常量存放公共目录并按模块分类必须写注释
● 高度,长度,时间,经纬度。。。单位统一
● emit方法名使用常量命名
●
this.$emit('[MODULE]UPDATE_CURRENT_TIME')
● 函数过30行的必须拆分 特殊情况除外
● 文件后缀一律省略(.js.vue.css.scss)
● view 视图逻辑 store api cesium 代码必须分离
● 变量命名使用名词禁止使用动词
● cesium中的primitive数据源、图片必须采用外部数据。可设置默认图片。
● 模块、变量、函数命名语义不要太狭隘,要宽泛。