Определите команды, обязательные аргументы и значения по умолчанию.
Зачем
Зачем это нужно
Согласуйте формат JSON и коды выхода для автоматизированного запуска.
Проверьте установку в чистом окружении и запуск из другого каталога.
Вопросы
Частые вопросы
Как задать пример поведения утилиты?
«Учебный каталог содержит a.txt и b.txt с одинаковым содержимым, c.txt отличается. dupscan --json должен вернуть одну группу из двух путей; файлы не изменяются». Попросите справку и примеры вызова. Отдельно задайте пустой каталог и отсутствие прав: пустой результат должен отличаться от невозможности прочитать данные, иначе автоматизация сочтёт ошибку успешной проверкой файлов.
Почему нельзя печатать прогресс вместе с JSON?
Потребитель stdout ожидает документ определённого формата, и строка «обработано 10 файлов» ломает его разбор. Диагностику обычно направляют отдельно, а интерактивный прогресс согласуют с режимом терминала. Попросите проверку, которая разбирает весь stdout JSON-парсером. Она выявит случайную печать отладочной информации, даже если основной результат визуально выглядит правильным в консоли разработчика.
Как выбирать библиотеку аргументов?
По требуемому интерфейсу и допустимым зависимостям. Для небольшой команды можно обойтись стандартным argparse; сложные вложенные команды могут оправдать дополнительную библиотеку. Назовите версии Python и ограничения установки. Попросите сначала список команд и ошибок ввода, затем реализацию. Наличие красивого цвета не заменяет понятную справку, устойчивые коды выхода и корректное поведение при неверном пути пользователя.
Как проверить упаковку команды?
Соберите пакет, установите его в новое окружение и запустите вне каталога исходников. Проверьте help, успешный JSON, неизвестный аргумент и недоступный каталог. Если программа работает только из корня репозитория, она может случайно использовать локальные импорты или файлы. Модель подготавливает конфигурацию точки входа, но факт установки и независимость от рабочей папки подтверждаются этим отдельным прогоном.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.