scan, split, OCR, prepare for LLM
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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 без объяснения.