用途
dead-code 用于在代码库中查找未使用的函数和死代码,基于 TLDR 静态分析实现。它可以帮助开发者识别不再被调用的函数,从而清理代码、降低维护成本。
主要能力
- 扫描整个项目或指定目录中的死代码。
- 支持通过
--entry参数指定入口点模式,匹配这些模式的函数会被排除在死代码分析之外。 - 支持通过
--lang参数指定分析语言,例如 python、typescript。 - 输出包含总函数数、死函数数量以及具体的未使用函数列表(含文件路径和行号)。
- 跨平台,可在 Windows、Mac 和 Linux(包括 WSL)上运行。
使用方式
快速开始:
# 扫描整个项目
tldr dead .
# 扫描指定目录
tldr dead src/
# 指定入口点(从分析中排除的函数)
tldr dead . --entry main cli test_
指定语言:
tldr dead . --lang python
tldr dead . --lang typescript
自定义入口点:
tldr dead src/ --entry main api_handler background_job
跨平台示例:
# Windows (PowerShell)
tldr dead .
# Mac/Linux
tldr dead .
输出格式
死代码分析输出示例:
Dead code analysis:
Total functions: 150
Dead functions: 12
Unused functions:
old_helper (src/utils.py:42)
deprecated_func (src/legacy.py:15)
_unused_method (src/api.py:230)
入口点
匹配入口模式的函数会被排除在死代码分析之外,例如:
main、cli— 应用程序入口点test_*、*_test— 测试函数setup、teardown— 夹具@app.route、@api.endpoint— 框架处理器
集成
该技能以按需分析的方式替代了 session-start-dead-code 钩子。对比:
| 方式 | 优点 | 缺点 |
|---|---|---|
| 钩子(已移除) | 自动执行 | 使启动变慢 3 秒 |
| 技能(本项) | 按需、快速 | 需手动调用 |
相关命令
# 影响分析(谁调用了这个?)
tldr impact func_name .
# 架构分层
tldr arch src/
# 完整代码库结构
tldr structure . --lang python
适用场景
适用于需要清理代码库、识别未使用函数、进行代码维护和重构的开发场景。
限制
资料中未提供关于支持语言完整列表、分析准确性、性能上限或收费模式的信息,暂未提供。