代码质量工具 - 代码质量和修复
---------------------------------------------

截至：2026-01-23
路径：docs/help/tools/code_quality.txt

描述
------------
修复常见代码问题的工具：
  - 编码错误（UTF-8、BOM、Mojibake）
  - 损坏的变音符号和特殊字符
  - 代码中的表情符号（Windows 控制台问题）
  - JSON修复
  - 缩进问题

主要工具：c_standard_fixer
----------------------------
收集工具依次运行多个修复程序。
推荐作为代码问题的首选。

包含的修复：
  1. BOM 修复删除字节顺序标记
  2. 编码修复确保UTF-8
  3. JSON-Repair 修复 JSON（针对 .json 文件）
  4. Umlaut Fix 修复损坏的德语变音
  5. Indent-Check 检查缩进（仅诊断）

基本命令：

  # 修复单个文件
  bach c_standard_fixer script.py

  # 只检查没有更改
  bach c_standard_fixer script.py --dry-run

  # 递归处理文件夹
  bach c_standard_fixer projekt/ --recursive

  # 仅应用特定修复
  bach c_standard_fixer script.py --only bom,encoding
  bach c_standard_fixer script.py --only umlaut

  # 显示可用工具
  bach c_standard_fixer --list-tools

  # 详细输出
  bach c_standard_fixer script.py --verbose

选项：
  --dry-run 只是检查，没有改变
  --包括递归子文件夹
  --verbose, -v 详细输出
  --only=TOOLS 仅某些工具（逗号分隔）
  --list-tools 显示可用工具

工具名称 --only:
  bom_fix、encoding_fix、json_repair、umlaut_fix、indent_check

备份：
  自动创建 .standardfixer.bak 文件

文件类型：
  已处理：.py、.md、.txt、.json
  忽略：__pycache__、.git、venv、node_modules、.bak

警告：
  请勿应用于batch_manager.py（已知错误）。
  请参阅：bach --help 课程

JSON 修复：c_json_repair
-----------------------------
解决 JSON 问题的专用工具。

功能：
  - 将表情符号转换为 ASCII（[工具]、[确定] 等）
  - 修复 Mojibake（损坏的 Unicode 序列）
  - 修复字符串中的换行符
  - 删除 BOM

基本命令：

  # 修复 JSON
  bach c_json_repair config.json

  # 只需检查
  bach c_json_repair config.json --dry-run

  # JSON 输出（用于脚本）
  bach c_json_repair config.json --json

  # 更新表情符号数据库
  bach c_json_repair --update-gemoji

  # 查看统计数据
  bach c_json_repair --stats

选项：
  --dry-run 只是检查，没有改变
  --json JSON输出（机器可读）
  --update-gemoji 更新表情符号数据库
  --stats 显示修复统计信息

表情符号转换（示例）：
  [扳手] <- 扳手表情符号
  [确定] <- 绿色勾号
  [X] <- 红色 X
  [警告] <- 警告三角形
  [文件夹] <- 文件夹表情符号
  [文件] <- 文件表情符号
  -> <- Arrow Unicode

JSON FIXER（替代）：json_fixer
------------------------------------
解决基本 JSON 问题的简单工具。

功能：
  - 删除物料清单
  - 删除尾随逗号
  - 单倍赔率到双倍赔率
  - 修复未转义的字符串

基本命令：

  # 单个文件
  bach json_fixer config.json

  # 文件夹中的所有 JSON
  bach json_fixer data/

  # 只需检查
  bach json_fixer config.json --dry-run

  # 备份
  bach json_fixer config.json --backup

什么时候使用哪个工具？
  c_json_repair -> Emoji 问题，修复复杂
  json_fixer -> 简单语法错误（逗号、引号）

单一工具（包含在 c_standard_fixer 中）
--------------------------------------------
这些工具通常通过 c_standard_fixer 调用，
但也可以单独使用：

c_encoding_fixer.py
  将编码修复为 UTF-8
  bach c_encoding_fixer script.py

c_umlaut_fixer.py
  修复损坏的德语变音符号（ae->ä、ue->ü 等）
  bach c_umlaut_fixer script.py

c_indent_checker.py
  查找缩进问题（Tab 与 Space，不一致）
  bach c_indent_checker script.py

c_emoji_scanner.py
  在文件
  bach c_emoji_scanner script.py

c_german_scanner.py 中查找表情符号
  查找德语单词/元音变音
  bach c_german_scanner script.py

建议：使用 c_standard_fixer 而不是单个工具。

典型用例
-------------------------

1.通过 GIT 克隆（Windows）
   不同系统引起的编码问题：
   bach c_standard_fixer projekt/ --recursive

2．从网络复制/粘贴后
   损坏的特殊字符：
   bach c_standard_fixer datei.py --only umlaut,encoding

3。 JSON 不会加载
   语法或编码错误：
   bach c_json_repair config.json

4。表情符号导致 Windows 控制台崩溃
   将表情符号转换为 ASCII：
   bach c_json_repair datei.json
   # 或者对于 Python：
   bach c_standard_fixer script.py

5.提交之前
   检查所有代码文件：
   bach c_standard_fixer src/ --recursive --dry-run

CONTEXT INJECTOR
----------------
ContextInjector 识别关键字并推荐这些工具：

  “编码问题”-> bach c_standard_fixer <文件>
  “元音变音损坏”-> bach c_standard_fixer <文件>
  “json 问题”-> 巴赫 c_json_repair <文件>
  “表情符号” -> 巴赫 c_emoji_scanner <文件>
  "utf-8" -> bach c_encoding_fixer <文件>

另请参见
----------
  bach --help tools              工具概述
  bach --help lessons            已知问题（标准修复程序错误）
  bach --help tools/imports      导入问题
  bach --help tools/python_editing  编辑 Python 文件
