chore(skill): 补全 skills-lock.json 注册并格式化 SKILL.md 表格

This commit is contained in:
xfy 2026-07-15 14:21:20 +08:00
parent 2d5c7f3d2a
commit 875dc39b61
2 changed files with 19 additions and 12 deletions

View File

@ -85,6 +85,7 @@ self.items.retain(|item| item.in_stock);
**触发**:从 `&mut T` / `Option<T>` 取值时用了 `.clone()`,或想"取出旧值替换为默认"。
**动作**
- `Option<T>` 取值 → `option.take()`(取出并留 `None`,无 clone
- `T: Default` 取出旧值 → `std::mem::take(dest)`(旧值返回,`dest` 变默认)
- 交换值 → `std::mem::replace(dest, src)`(无深拷贝)
@ -170,13 +171,13 @@ fn normalize<'a>(name: &'a str) -> Cow<'a, str> {
**量化收益示例**(写到改动说明里):
| 改动 | 复杂度 / 分配变化 |
|---|---|
| `remove``swap_remove` | O(n) → O(1) 内存搬移 |
| 循环+clone → `retain` | 省 1 次堆分配 + N 次 clone |
| `clone``take` | 省 1 次堆分配 |
| 改动 | 复杂度 / 分配变化 |
| -------------------------- | --------------------------- |
| `remove``swap_remove` | O(n) → O(1) 内存搬移 |
| 循环+clone → `retain` | 省 1 次堆分配 + N 次 clone |
| `clone``take` | 省 1 次堆分配 |
| `Vec``SmallVec<[T; 4]>` | 堆分配 → 栈分配(小负载时) |
| `String``Cow<str>` | 读路径1 次分配 → 0 次 |
| `String``Cow<str>` | 读路径1 次分配 → 0 次 |
## 自检清单(提交 Rust 改动前逐条过)
@ -201,9 +202,9 @@ fn normalize<'a>(name: &'a str) -> Cow<'a, str> {
**决策速查**
| 情况 | 推荐 |
|---|---|
| 非热点、简单工具函数 | 直接 `Vec`/`String`/`clone`,别上模式 |
| 公开 API 返回类型 | 慎用 `Cow<'_, str>`/生命周期——会传染调用方 |
| 真热点 + 内部函数 | 放心上 Cow/SmallVec/借用切片 |
| 新增依赖 | 先看能否用 `[T; N]` / 迭代器 / 现有类型替代 |
| 情况 | 推荐 |
| -------------------- | ------------------------------------------- |
| 非热点、简单工具函数 | 直接 `Vec`/`String`/`clone`,别上模式 |
| 公开 API 返回类型 | 慎用 `Cow<'_, str>`/生命周期——会传染调用方 |
| 真热点 + 内部函数 | 放心上 Cow/SmallVec/借用切片 |
| 新增依赖 | 先看能否用 `[T; N]` / 迭代器 / 现有类型替代 |

View File

@ -109,6 +109,12 @@
"skillPath": "skills/minimalist-skill/SKILL.md",
"computedHash": "08873a3131d3be27bef9bf3304b310b16b44ca6e3561aebe532797be3443f6bd"
},
"optimizing-rust-performance": {
"source": "DefectingCat/optimizing-rust-performance",
"sourceType": "github",
"skillPath": "SKILL.md",
"computedHash": "96bf0221d116e617055f5dc038bb33d92dd61b7808d804f92da78d32c01e6934"
},
"prototype": {
"source": "mattpocock/skills",
"sourceType": "github",