📝 docs(tsl): clarify tsf-only top-level rules and type annotations

This commit is contained in:
csh
2026-01-06 10:34:34 +08:00
parent 3a6382973e
commit 3dceaf71fd
2 changed files with 9 additions and 7 deletions
+5 -5
View File
@@ -32,8 +32,8 @@
## 3. 类型命名(Type Names
TSL 的顶层声明只有三种:`class``unit``function`
因此文件基名必须与顶层声明同名(见“4. 文件命名与顶层声明”)。
TSL 的顶层声明只有三种:`class``unit``function`(仅适用于 `.tsf`
因此 `.tsf` 文件基名必须与顶层声明同名(见“4. 文件命名与顶层声明”)。
- **类(class)与单元(unit**使用 `PascalCase`,不带下划线;名称应为名词/名词短语(通常单数),避免动词开头。
- 不推荐 `*Unit` 作为 `unit` 的后缀(`unit` 本身已表达语义);需要表达用途时,可使用 `*Shared`/`*Common`/`*Enums` 等更具体后缀(按团队约定)。
@@ -42,13 +42,13 @@ TSL 的顶层声明只有三种:`class`、`unit`、`function`。
## 4. 文件命名与顶层声明(File Names)
TSL 的语法要求:每个文件只能有一个顶层声明,且**文件基名必须与该顶层声明名字一致**。
TSL 的语法要求(仅 `.tsf`):每个 `.tsf` 文件只能有一个顶层声明,且**文件基名必须与该顶层声明名字一致**。
- 顶层声明可能是 `class``unit``function`(见类型命名)。
- `.tsf` 代码文件:用于库/模块等“顶层声明”的承载文件;顶层声明可为 `class`/`unit`/`function`,文件基名需与之同名。
- `.tsl` 脚本文件:用于入口/编排层;顶层声明只能是 `function`,因此文件基名 = 顶层函数名;可复用逻辑应下沉到 `.tsf`(见 `docs/tsl/code_style.md`)。
- `.tsl` 脚本文件:用于入口/编排层;允许直接写语句(如 `a := 1; echo a;`),不要求顶层声明,也不强制文件基名与函数名一致;可复用逻辑应下沉到 `.tsf`(见 `docs/tsl/code_style.md`)。
- 注:`.tsf` 也是 TSL 源文件,命名/风格与 `.tsl` 遵循同一套规则。
- **硬规则**:重命名顶层声明时必须同步重命名文件基名,否则语法/加载规则无法识别;批量重命名可参考 `$bulk-refactor-workflow`
- **硬规则(仅 `.tsf`**:重命名顶层声明时必须同步重命名文件基名,否则语法/加载规则无法识别;批量重命名可参考 `$bulk-refactor-workflow`
命名建议: