ИНСТРУМЕНТЫ КАЧЕСТВА КОДА — Качество кода и исправления
---------------------------------------------

По состоянию на 23 января 2026 г.
Путь: docs/help/tools/code_quality.txt

ОПИСАНИЕ
------------
Инструменты для устранения распространенных проблем с кодом:
  - Ошибки кодировки (UTF-8, BOM, Mojibake)
  - Неработающие умлауты и специальные символы.
  — Эмодзи в коде (проблема с консолью Windows)
  - восстановление JSON
  - Проблемы с отступами

ГЛАВНЫЙ ИНСТРУМЕНТ: c_standard_fixer
----------------------------
Инструмент сбора запускает несколько исправлений один за другим.
Рекомендуется в качестве первого выбора при проблемах с кодом.

ВКЛЮЧЕННЫЕ ИСПРАВЛЕНИЯ:
  1. Исправление спецификации удаляет метку порядка байтов
  2. Исправление кодировки обеспечивает UTF-8.
  3. JSON-Repair Восстанавливает JSON (для файлов .json).
  4. Umlaut Fix Исправляет неработающие немецкие умлауты.
  5. Проверка отступов. Проверка отступов (только диагностика)

ОСНОВНЫЕ КОМАНДЫ:

  # Восстановить отдельный файл
  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=ИНСТРУМЕНТЫ Только определенные инструменты (через запятую)
  --list-tools Показать доступные инструменты

ИМЕНА ИНСТРУМЕНТОВ только для --only:
  bom_fix,coding_fix, json_repair, umlaut_fix, indent_check

РЕЗЕРВНОЕ КОПИРОВАНИЕ:
  Автоматически создает файлы .standardfixer.bak

ТИПЫ ФАЙЛОВ:
  Обработано: .py, .md, .txt, .json.
  Игнорируется: __pycache__, .git, venv, node_modules, .bak

ВНИМАНИЕ:
  НЕ ПРИМЕНЯЙТЕ к пакетному_менеджеру.py (известная ошибка).
  См.: bach --help Lessons

JSON REPAIR: c_json_repair
-----------------------------
Специализированный инструмент для решения проблем JSON.

ФУНКЦИИ:
  - Преобразование эмодзи в ASCII ([ИНСТРУМЕНТ], [ОК] и т. д.)
  - Восстановить Mojibake (неработающие последовательности Юникода)
  - Исправлены символы новой строки в строках.
  - Удалить спецификацию

ОСНОВНЫЕ КОМАНДЫ:

  # Восстановить 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 Показать статистику ремонта

ПРЕОБРАЗОВАНИЕ EMOJI (примеры):
  [ГАЕЧНЫЙ КЛЮЧ] <- эмодзи гаечного ключа
  [ОК] <- Зеленая галочка
  [X] <- Красный X
  [WARN] <- предупреждающий треугольник
  [ПАПКА] <- папка эмодзи
  [ФАЙЛ] <- файл смайлика
  -> <- 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 -> Проблемы с эмодзи, сложный ремонт
  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 или пробел, противоречиво)
  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 CLONE (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. EMOJIS ВЫЗЫВАЕТ КОНСОЛЬ WINDOWS
   Преобразование Emoji в 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» -> bach c_json_repair <файл>
  "emoji" -> bach 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
