scan, split, OCR, prepare for LLM
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

CODE_STYLE.md 1.6KB

Стиль кода

Язык

Python 3.12+


Типизация

Полная типизация обязательна.

Избегать использования Any.


Размер функций

Желательно не более 40 строк.

Максимум около 80 строк.

Если функция становится длиннее — разделить её.


Размер файлов

Желательно до 300 строк.

Максимум около 500 строк.


Именование

Использовать понятные имена.

Хорошо:

load_image()

split_grid()

rotate_image()

add_border()

Плохо:

proc()

run2()

tmp()


Глобальное состояние

Не использовать глобальные переменные.

Не использовать Singleton.


Магические числа

Все значения должны быть вынесены в именованные константы либо параметры функций.


Ошибки

Использовать исключения.

CLI должен завершаться ненулевым кодом возврата.

Сообщения должны быть понятны пользователю.


Логирование

Использовать logging.

Не использовать print() для отладки.


Качество

Следовать PEP8.

Использовать Ruff.

Не оставлять:

  • закомментированный код;
  • неиспользуемый код;
  • TODO без объяснения.