为什么pylint假设模块级变量是常量?

时间:2015-09-16 18:41:21

标签: python global-variables pylint

how to stop Pylint message C0103的答案中,@ ChristopheD准确地提到“pylint将所有模块级变量解释为'常量'。”

我喜欢Pylint,并且假设作者的默认行为具有代码质量令人鼓舞的原因。那么,任何人都可以告诉我:为什么 pylint将所有模块级变量解释为'常量'?

这可能是pylint强调隐式global variables, which are considered bad的方式吗?

1 个答案:

答案 0 :(得分:0)

在答案Why is Global State so Evil?中,我们澄清了使用全局变量会增加复杂性和不确定性,因为您不知道谁访问了此全局变量。

如答案中所述,这也会使您的代码(单元)可测试性降低。

将其声明为常量更容易接受,因为当变量/常量不变时,您将不会有这种不确定性。