这是基于我的代码的最小示例:
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_bar
pycodestyle
with_*
(请想象一下两者都有更多的方法with
-整个事情是一个构建器模式,需要分成多行才能与 PEP 8 兼容并且阅读愉快。我不能简单地加入这些行来解决问题。拉出作为变量当然是一种选择,但那不是重点。)Foo
Bar
Bar