# abacus-static-framework — 开发规范(CONVENTIONS) > 命名、目录、提交、风格、测试的权威(本仓库视角)。前后端共享约束见工作区 `docs/coding-standards.md`(`../../../../docs/coding-standards.md`),本文只写前端特有内容 + 指针,**禁止复制 docs/ 正文**。 ## 0. 阅读指引 - 适用范围:`src/subsystem/**` 业务开发(`src/framework/**` 只读)。 - 分工:ARCHITECTURE 管"拆成什么模块";本文管"怎么命名/写";共享编码规范、接口契约、AI 生成工作流在 `docs/coding-standards.md`。 ## 1. 命名 ### 1.1 标识符 - 组件名:PascalCase,且**必须与路由 `name` 一致**(``)。 - 文件/目录:kebab-case(如 `operationLog/index.vue`);views 目录按一级/二级菜单名组织。 - API 函数:`getXxx` / `saveXxx` / `deleteXxx` / `exportXxx`。 - Pinia store:`useStore`。 ### 1.2 模块命名(语义禁区) - 禁止 `Manager` / `Helper` / `Util` / `Common` / `Misc` / `Tools` 这类语义为空的名字;用"动词+名词"(如 `useTableQueryReload`、`gridDefaultProps`)。 ### 1.3 文件 / 1.4 目录 / 1.5 资产命名 - 文件按主类型命名:页面 `index.vue`(views 目录内)、API 按 Controller 分 `api/<服务别名>/<模块>.ts`、组合式函数 `use.ts`。 - 目录:`api/<服务别名>/`、`views/<一级菜单>/<二级菜单>/`、`router/`、`extend/`;业务自建 `components/ hooks/ store/ styles/ types/ utils/`。 - 资产:图标/图片放 `src/assets/` 或 `public/`(按是否需编译/保持原名选择)。 ### 1.6 字符串与本地化 - 用户可见文案用中文;菜单标题在路由 `meta.title` 与后端菜单保持一致。 ## 2. 代码风格 ### 2.1 排版 - TypeScript / Vue:2 空格缩进;单行 ≤ 120 字符;`