соглашение по коду Python с использованием Pylint - PullRequest
9 голосов
/ 02 апреля 2009

Я пытаюсь Pylint, чтобы проверить мой исходный код для соглашений. Каким-то образом некоторые имена переменных сопоставляются с регулярным выражением для констант (const-rgx) вместо регулярного имени переменной (variable-rgx). Как сопоставить имя переменной с variable-rgx? Или я должен расширить const-rgx с моим variable-rgx материалом?

, например
C0103: 31: Invalid name "settings" (should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)

Ответы [ 3 ]

27 голосов
/ 02 апреля 2009

Каким-то образом некоторые имена переменных сопоставляются с регулярным выражением для констант (const-rgx) вместо регулярного выражения с именем регулярного выражения (variable-rgx).

Эти переменные объявлены на уровне модуля? Может быть, поэтому они рассматриваются как константы (по крайней мере, так они должны быть объявлены, согласно PEP-8).

10 голосов
/ 02 апреля 2009

Я просто отключил это предупреждение, потому что я не следую этим соглашениям об именах.

Для этого добавьте эту строку в верхнюю часть вашего модуля:

# pylint: disable-msg=C0103

Если вы хотите отключить это глобально, добавьте его в команду pylint:

python lint.py --disable-msg=C0103 ...
0 голосов
/ 02 апреля 2009

(should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)

как вы сказали, это const-rgx, который соответствует только именам в верхнем регистре или именам, заключенным в двойные подчеркивания.

переменные-rgx это

([a-z_][a-z0-9_]{2,30}$)

если ваша переменная называется 'settings', которая действительно должна соответствовать переменным-rgx

Я могу придумать только 2 причины для этого .. либо настройки константа , либо это ошибка в PyLint.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...