docs(zh-CN): sync Chinese docs with latest upstream changes (#304)

* docs(zh-CN): sync Chinese docs with latest upstream changes

* update

---------

Co-authored-by: neo <neo.dowithless@gmail.com>
This commit is contained in:
zdoc.app
2026-03-03 14:28:27 +08:00
committed by GitHub
parent adc0f67008
commit ada4cd75a3
114 changed files with 11161 additions and 4790 deletions

View File

@@ -1,28 +1,83 @@
# 重构清理
通过测试验证安全识别删除无用代码:
通过测试验证安全识别删除死代码的每一步。
1. 运行无用代码分析工具:
* knip查找未使用的导出和文件
* depcheck查找未使用的依赖项
* ts-prune查找未使用的 TypeScript 导出
## 步骤 1检测死代码
2. 在 .reports/dead-code-analysis.md 中生成综合报告
根据项目类型运行分析工具:
3. 按严重程度对发现进行分类:
* 安全:测试文件、未使用的工具函数
* 注意API 路由、组件
* 危险:配置文件、主要入口点
| 工具 | 查找内容 | 命令 |
|------|--------------|---------|
| knip | 未使用的导出、文件、依赖项 | `npx knip` |
| depcheck | 未使用的 npm 依赖项 | `npx depcheck` |
| ts-prune | 未使用的 TypeScript 导出 | `npx ts-prune` |
| vulture | 未使用的 Python 代码 | `vulture src/` |
| deadcode | 未使用的 Go 代码 | `deadcode ./...` |
| cargo-udeps | 未使用的 Rust 依赖项 | `cargo +nightly udeps` |
4. 仅建议安全的删除操作
如果没有可用工具,使用 Grep 查找零次导入的导出:
5. 每次删除前:
* 运行完整的测试套件
* 验证测试通过
* 应用更改
* 重新运行测试
* 如果测试失败则回滚
```
# Find exports, then check if they're imported anywhere
```
6. 显示已清理项目的摘要
## 步骤 2分类发现结果
切勿在不首先运行测试的情况下删除代码!
将发现结果按安全层级分类:
| 层级 | 示例 | 操作 |
|------|----------|--------|
| **安全** | 未使用的工具函数、测试辅助函数、内部函数 | 放心删除 |
| **谨慎** | 组件、API 路由、中间件 | 验证没有动态导入或外部使用者 |
| **危险** | 配置文件、入口点、类型定义 | 在操作前仔细调查 |
## 步骤 3安全删除循环
对于每个 **安全** 项:
1. **运行完整测试套件** — 建立基准(全部通过)
2. **删除死代码** — 使用编辑工具进行精确删除
3. **重新运行测试套件** — 验证没有破坏任何功能
4. **如果测试失败** — 立即使用 `git checkout -- <file>` 回滚并跳过此项
5. **如果测试通过** — 处理下一项
## 步骤 4处理谨慎项
在删除 **谨慎** 项之前:
* 搜索动态导入:`import()``require()``__import__`
* 搜索字符串引用:配置中的路由名称、组件名称
* 检查是否从公共包 API 导出
* 验证没有外部使用者(如果已发布,请检查依赖项)
## 步骤 5合并重复项
删除死代码后,查找:
* 近似的重复函数(>80% 相似)— 合并为一个
* 冗余的类型定义 — 整合
* 没有增加价值的包装函数 — 内联它们
* 没有作用的重新导出 — 移除间接引用
## 步骤 6总结
报告结果:
```
Dead Code Cleanup
──────────────────────────────
Deleted: 12 unused functions
3 unused files
5 unused dependencies
Skipped: 2 items (tests failed)
Saved: ~450 lines removed
──────────────────────────────
All tests passing ✅
```
## 规则
* **切勿在不先运行测试的情况下删除代码**
* **一次只删除一个** — 原子化的变更便于回滚
* **如果不确定就跳过** — 保留死代码总比破坏生产环境好
* **清理时不要重构** — 分离关注点(先清理,后重构)