scan, split, OCR, prepare for LLM
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

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