有没有办法让PyLint标志'Yoda条件'?

时间:2015-08-14 10:45:01

标签: python pylint

在我正在研究的一些Python代码中,我发现了所谓的“Yoda conditions”。

例如:

if 0 < len(someList): ...

if None != ComputeSomething(): ...

有没有办法让PyLint标记它们?

1 个答案:

答案 0 :(得分:5)

Pylint目前将此实现为常规检查C0122,starting with v1.5.0 (2015-11-29)

  

添加一个新的约定消息'misplaced-comparison-constant',当一个常量放在比较的左侧时发出,如'5 == func()'。这也被称为Yoda条件,因为代码流提醒星球大战绿色字符,这些条件通常在条件语句中具有变量赋值的语言中遇到。

来自features documentation

  

错放比较常数(C0122):

     

比较应该是%s 当常量放在比较的左侧时使用。通常将其置于比较的右侧通常更清楚。

示例输出:

C:130, 3: Comparison should be __name__ == '__main__' (misplaced-comparison-constant)