Python 有没有办法让派林标志';尤达条件';?
在我正在处理的一些Python代码中,我到处都能看到所谓的“” 例如:Python 有没有办法让派林标志';尤达条件';?,python,pylint,Python,Pylint,在我正在处理的一些Python代码中,我到处都能看到所谓的“” 例如: if 0 < len(someList): ... if None != ComputeSomething(): ... 如果0
if 0 < len(someList): ...
if None != ComputeSomething(): ...
如果0
有没有办法让PyLint标记它们?PyLint目前将此作为约定检查C0122执行: 添加一条新的约定消息“错位的比较常量”,该消息在常量放置在比较的左侧时发出,如“5==func()”中所示。这也被称为Yoda条件,因为代码流让人想起了星球大战的绿色字符,这些条件通常出现在条件语句中具有可变赋值的语言中 从: 错位比较常数(C0122): 当常量放在比较的左侧时,应使用%s进行比较。将其放在比较的右侧通常更清楚 示例输出:
C:130, 3: Comparison should be __name__ == '__main__' (misplaced-comparison-constant)
它们都应该改变,而不仅仅是简单地颠倒对比<代码>如果someList:和
如果ComputeSomething()不是None:
!这是另一个好观点。但是一旦它们被标记,就很容易做到:)如果2呢?那是半尤达吗?我得到了5==foo
,但是5
…我一直订购很高兴它们被称为尤达条件,因为尤达是一个聪明的饼干。把常数放在左手边可以确保你不会犯错误,并将其作为赋值400=something
将在C语言中生成语法错误,其中something=400
始终为真,而且由于我使用多种语言编写代码,我的习惯会从一种语言泄漏到另一种语言。