方法名称不符合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)

为什么方法名被拒绝

根据以下内容显示:(Link removed)名称的长度上限为 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: NewObject 骆驼案例:新对象 PascalCase: LongFunctionName(( camelCase: longFunctionName((

每当出现此类错误时,请注意该行。 您需要以snake_case样式提及您的函数名称。 这意味着

"def TddInPythonExample():": ->  def dd_in_python_example():

最新更新