Универсального «качества кода» не существует, поэтому исследование опирается на названный критерий: требования технического задания, согласованный стандарт оформления, отраслевой стандарт или условия договора о приёмке. Внутри этих рамок эксперт проверяет измеримые характеристики. Это соответствие принятым в проекте правилам оформления (PEP 8), замечания анализаторов ruff, flake8 или pylint и средства проверки типов mypy, охват кода автоматическими тестами и результаты их прогона, структура модулей, обработка ошибок, документированность.
У Python есть особенность, которую приходится учитывать: объявлять типы не обязательно, а поведение объекта определяется во время выполнения, поэтому статический анализ видит меньше, чем в языках со строгой проверкой на этапе компиляции. Значимая часть выводов о качестве опирается на прогон тестов и на поведение программы на стенде, а не только на чтение кода. Срабатывание правила анализатора при этом остаётся поводом проверить фрагмент вручную, а не готовым дефектом.
Если требований к качеству в договоре нет, эксперт описывает фактическое состояние кода и отклонения от общепринятой практики. Подробнее эта задача разобрана на странице экспертизы качества исходного кода.