pycodestyle“continuation line unaligned”不明显正确 - bug,可配置或用户错误?

时间:2018-01-09 21:58:22

标签: python pep8 pycodestyle

这是基于我的代码的最小示例:

def fn(self):
    Foo() \
        .with_bar(
            Bar()
                .with_baz('Baz')
        )

我觉得这很可读,但pycodestyle抱怨:

  

stdin:5:17:E131延续线未对齐悬挂缩进

几乎在每种情况下pycodestyle都会报告一些问题,这些问题在修复后会提高代码的可读性。但是,这次代码似乎是唯一可接受的解决方案:

def fn(self):
    Foo() \
        .with_bar(
            Bar()
            .with_baz('Baz')
        )

这似乎更不易读了:缩进不一致Foo使用的默认延续缩进,它使.with_baz('Baz')看起来像参数with_bar。这是我应该习惯的东西,它是pycodestyle中的错误,还是有另一种格式可以保留分解PEP 8兼容的后续with_*调用的一般风格?

(请想象withFoo上有更多Bar个方法 - 整个事情是一个构建器模式,需要分成多行才能兼容PEP 8和令人愉快的阅读。我不能只是简单地加入行来解决问题。将Bar作为变量拉出来当然是一种选择,但这不是重点。)

0 个答案:

没有答案