基础编码规范(04)
平台规范第 04 条 · 强制度:🔴 必遵。参考 jhat.tech 开发规范 + Robot_Admin 实践。
来源
@agile-team/wl-skills-kit · standards/04-coding-basics.md
13 条核心约定
- 变量声明:优先
const,必须重新赋值时用let,禁止var - 解构赋值:优先使用
const { a, b } = obj,而非obj.a/obj.b - 异步处理:统一
async/await,禁止.then()链式调用 - 字符串引号:统一单引号(以
.prettierrc.js为准) - 模板字符串:替代字符串拼接,
`Hello ${name}`而非'Hello ' + name - 大括号:所有代码块必须使用大括号包裹,即使只有一行
- 条件层级:最多三层,超过三层必须抽成函数
- 模板表达式:
<template>中只写简单表达式,复杂逻辑提取为computed或方法 - 对象遍历:禁止
for...in,使用Object.keys(obj).forEach() - undefined 判断:使用
typeof variable !== 'undefined' - v-for:必须设置
:key,优先用业务主键 id 而非 index - 指令缩写:统一
:(v-bind)、@(v-on)、#(v-slot) - this 别名:
<script setup>中无this;旧 Options API 中的this别名用self
全局禁止事项
- ❌ index.vue 中写业务逻辑(逻辑全在 data.ts)
- ❌ 使用 Vuex(本项目用 Pinia)
- ❌
::v-deep//deep/(用:deep()) - ❌ 直接用 axios(用 getAction/postAction,详见 13 — 平台组件合规规范)
- ❌ 手写查询表单/工具栏/分页(用 BaseQuery/BaseToolbar/jh-pagination)
- ❌ 每个页面重复写弹窗(优先用
c_modal/c_formModal等局部公共组件)
