technical-debt-visualizer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Technical Debt Visualizer

技术债务可视化工具

Purpose and Intent

用途与目标

The
technical-debt-visualizer
provides a data-driven view of software quality. It helps engineering leaders and developers prioritize refactoring work by identifying files that are both complex and frequently changed—the "high-interest" technical debt.
technical-debt-visualizer
提供数据驱动的软件质量视图。它通过识别既复杂又频繁变更的文件——即“高利息”技术债务,帮助工程负责人和开发者确定重构工作的优先级。

When to Use

使用场景

  • Sprint Planning: Run this before a dedicated refactoring sprint to identify the best "ROI" targets.
  • Architectural Reviews: Use to visualize the impact of legacy systems on the overall codebase health.
  • Due Diligence: Quickly assess the health of a new or acquired repository.
  • 迭代规划:在专门的重构迭代前运行此工具,以识别投资回报率最高的目标。
  • 架构评审:用于可视化遗留系统对整体代码库健康状况的影响。
  • 尽职调查:快速评估新仓库或收购仓库的健康状况。

When NOT to Use

不适用场景

  • Performance Benchmarking: This tool measures code structure and maintainability, not runtime performance.
  • Absolute Complexity Rating: Metrics like cyclomatic complexity are indicators, not absolute rules; some complex logic is unavoidable.
  • 性能基准测试:此工具衡量代码的结构可维护性,而非运行时性能。
  • 绝对复杂度评级:圈复杂度等指标仅为参考,而非绝对规则;某些复杂逻辑是不可避免的。

Input and Output Examples

输入输出示例

Input

输入

yaml
source_path: "./src"
output_format: "markdown"
yaml
source_path: "./src"
output_format: "markdown"

Output

输出

A markdown report highlighting "Hotspots"—files that have high complexity and low test coverage.
一份高亮显示“热点区域”的Markdown报告——即复杂度高且测试覆盖率低的文件。

Error Conditions and Edge Cases

错误情况与边缘案例

  • No Git History: If run on a non-git directory, the "change frequency" metric will be unavailable.
  • Unsupported Languages: Complexity analysis is language-dependent; unknown extensions will be reported with a lower confidence score.
  • 无Git历史:若在非Git目录运行,“变更频率”指标将不可用。
  • 不支持的语言:复杂度分析依赖语言;未知扩展名的文件将被标记为低置信度分数。

Security and Data-Handling Considerations

安全与数据处理注意事项

  • Local Scan: The analysis is performed entirely in memory on the local machine.
  • No Execution: The tool uses static analysis; it never runs the code it is analyzing.
  • 本地扫描:分析完全在本地机器的内存中执行。
  • 无代码执行:此工具使用静态分析;绝不会运行所分析的代码。