2

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

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

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

标准输入:5:17:E131 续行未对齐悬挂缩进

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

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

这似乎不太可读:缩进与用于 的默认连续缩进不一致Foo并且它看起来.with_baz('Baz')像. 这是我应该简单地习惯的东西吗,它是 中的一个错误,还是有另一种格式可以保留与 PEP 8 兼容的后续调用的一般风格?with_barpycodestylewith_*

(请想象一下两者都有更多的方法with-整个事情是一个构建器模式,需要分成多行才能与 PEP 8 兼容并且阅读愉快。我不能简单地加入这些行来解决问题。拉出作为变量当然是一种选择,但那不是重点。)FooBarBar

4

0 回答 0