Kasumi
YuiNijika 编码与文档规范
查看 MarkdownYuiNijika coding-style and docs-style rules inlined as an online Kasumi skill page.
编码、写技术文档或提交代码前必须执行 YuiNijika 编码规范与文档规范。
规则全部内联在本页,离线也可用。
Get-Content > file、Set-Content、echo >、Python 重写文件或单行正则替换。原因是 Windows shell 可能按系统代码页改写,导致 UTF-8 中文乱码。.tmp/ 或系统临时目录,用完后删除。.ps1。| 元素 | PHP | C++ | TypeScript | Python | Rust |
|---|---|---|---|---|---|
| 类/接口/结构 | PascalCase | PascalCase | PascalCase | PascalCase | PascalCase |
| 方法/函数 | camelCase | camelCase | camelCase | snake_case | snake_case |
| 变量/属性 | camelCase | snake_case | camelCase | snake_case | snake_case |
| 常量 | UPPER_SNAKE | UPPER_SNAKE | UPPER_SNAKE | UPPER_SNAKE | UPPER_SNAKE |
| 文件名 | PascalCase | snake_case | kebab-case | snake_case | snake_case |
| 布尔前缀 | is/has/should | is_/has_/should_ | is/has/should | is_/has_/should_ | is_/has_/should_ |
目录已表达语义时不得重复:components/Button 不要写成 components/ButtonComponent。
strict_types=1。auto 仅在能从初始化清晰推断时使用。strict: true,禁用无说明的 any,优先 interface 描述对象、type 描述联合或交叉。Option<T> / Result<T, E>,不随意 unwrap()。几乎不会发生的边界或并发问题,不得私自加分叉和防御代码。必须向用户讲清发生概率、触发条件和代价,经用户确认后再加。严禁为了理论上更稳提前膨胀代码。
外部数据只在边界校验一次。内部函数依赖类型系统传递有效数据,禁止层层重复判断同一个字段。每多一层重复判断都是噪声,也会扩大改动面。
单次使用的逻辑就近内联,不提前拆无意义的 helper。只有出现第二个真实使用方,或函数长度确实影响阅读时才考虑抽取。抽象必须有真实复用理由。
非必要不用 try/catch。能单函数清晰写清的逻辑不要硬拆成多层。优先让数据流直观、调用链短、失败点明确。
注释解释 why,不解释 what。禁止把代码行为逐行翻译成注释。
差:
// Return the result
return result;好:
// React batches state updates so two calls still render once仅对复杂逻辑、公共 API 契约、特殊异常、不明显结构写文档注释。
declare(strict_types=1),纯 PHP 省略 ?>,Controller 保持薄层。#pragma once,header 不写 using namespace std;,优先智能指针和 enum class。Promise<T> 配 async/await。rustfmt / clippy 干净,优先借用避免克隆。除用户另有指定外,技术文档按此骨架:
# 页面标题
> 一句话说明本页覆盖什么、解决什么问题。
## 模块边界 / 适合谁阅读 / 入口
## 核心内容
## 代码示例
## 常见问题 / 常见风险 / 排查路径必须包含:
收尾前逐条检查:
若有任意一项不满足,先重写再交付。
评论