Имя метода не соответствует стилю именования snake_case
Я создаю простой проект с моим файлом pylintrc и получаю эту ошибку для тестового метода:
method name - test_calculator_add_method_returns_correct_result - doesn't conform to snake_case naming style
class TddInPythonExample(unittest.TestCase):
""" This is a basic test class"""
def test_calculator_add_method_returns_correct_result(self):
""" This test the calculator add method """
calc = Calculator()
result = calc.add(2,2)
self.assertEqual(4, result)
5 ответов
Почему имя метода отклонено
Это выглядит следующим образом: http://pylint-messages.wikidot.com/messages:c0103 что длина имени ограничена 30 символами, где имя вашего метода составляет 49 символов
Исправление
Вы можете сократить имя метода или изменить конфигурацию, чтобы позволить более длинные методы
Если вы являетесь пользователем Visual Studio Code и хотите проигнорировать это, вы можете добавить python.linting.pylintArgs
к .vscode/settings.json
:
{
...
"python.linting.pylintArgs": [
"--disable=C0103"
]
...
}
Очень хорошо указано @jrtapsell
Чтобы добавить дополнительную информацию:
Когда дело доходит до соглашения об именах, для каждого типа определено регулярное выражение.
Вы можете заметить, что длина имени может варьироваться от 2 до 30 символов вместе с его регулярным выражением.
+-------------------+---------------+-------------------------------------------+
| Type | Option | Default regular expression |
+-------------------+---------------+-------------------------------------------+
| Argument | argument-rgx | [a-z_][a-z0-9_]{2,30}$ |
| Attribute | attr-rgx | [a-z_][a-z0-9_]{2,30}$ |
| Class | class-rgx | [A-Z_][a-zA-Z0-9]+$ |
| Constant | const-rgx | (([A-Z_][A-Z0-9_]*)|(__.*__))$ |
| Function | function-rgx | [a-z_][a-z0-9_]{2,30}$ |
| Method | method-rgx | [a-z_][a-z0-9_]{2,30}$ |
| Module | module-rgx | (([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ |
| Variable | variable-rgx | [a-z_][a-z0-9_]{2,30}$ |
| Variable, inline1 | inlinevar-rgx | [A-Za-z_][A-Za-z0-9_]*$ |
+-------------------+---------------+-------------------------------------------+
Кроме того, если вы не создали файл .pylinrc, вы можете сделать это с помощью следующей команды.
pylint --generate-rcfile | out-file -encoding utf8 .pylintrc
затем вы можете изменить тип случая именования в файле .pylinrc, вот несколько популярных случаев и пример использования.
PascalCase: NewObjectcamelCase: newObjectPascalCase: LongFunctionName()camelCase: longFunctionName()
Обратите внимание на эту строку всякий раз, когда вы получаете такую ошибку. вам нужно указать имя вашей функции в стиле snake_case. Это означает
"def TddInPythonExample():": -> def dd_in_python_example():