---
name: kd-flagship-naming
description: 苍穹/旗舰版命名规范。类名/插件名/方法名/变量名/常量命名规则。
alwaysApply: false
---

# 苍穹命名规范

## 常规类命名
- 【推荐】类名 UpperCamelCase（`UserDO` / `XmlService` / `TcpUdpDeal`）
- 【推荐】杜绝不规范缩写（不写 `AbsClass` / `condi`）
- 【推荐】抽象类以 `Abstract` 开头
- 【推荐】异常类以 `Exception` 结尾
- 【推荐】测试类以它测试的类名开始，以 `Test` 结尾
- 【推荐】接口和实现类：Service/DAO 暴露服务为接口，实现类用 `Impl` 后缀；形容能力的接口用 `-able` 形容词
- 【推荐】枚举类名带 `Enum` 后缀，枚举成员全大写+下划线
- 【推荐】工具类名带 `Util` 后缀，成员变量全大写+下划线

## 插件命名
- 【推荐】`{功能}FormPlugin`（表单）、`{功能}BillPlugin`（单据）、`{功能}ListPlugin`（列表）、`{功能}OpPlugin`（操作）、`{功能}RptPlugin`（报表）
- 【推荐】插件必须继承指定抽象类：单据→`AbstractBillPlugin`、基础资料→`AbstractBasePlugIn`、动态表单→`AbstractFormPlugIn`、列表→`AbstractListPlugIn`、树型基础资料列表→`StandardTreeListPlugin`、操作服务→`AbstractOperationServicePlugIn`、单据转换→`AbstractConvertPlugIn`

## 方法命名
- 【推荐】lowerCamelCase
- 【推荐】方法最好是动词或动词词组：属性方法 `get/set` 开头，数据层方法 `insert/update` 开头
- 【推荐】避免缩写（`setBackgroundImage` 不写 `setBGImage`）

## 变量命名
- 【推荐】表示类型的名词放词尾（`startTime` / `workQueue` / `nameList`）
- 【推荐】避免子父类成员变量同名、不同代码块局部变量同名
- 【推荐】POJO 布尔变量不加 `is` 前缀（否则序列化异常）

## 常量
- 【强制】禁止使用 `static` 修饰中文静态常量 → 使用 `ResManager.loadKDString()`

## 语言层
- Java 语言规范：`skills/ok-cosmic/references/lang-java/`
