1

我今天不得不在一段时间条件下添加无关的括号以避免 pep8 投诉:

while not found and not something and \
    (time_left is None or time_left > 0):
    (one, two, three, four) = self.gimme(timeout=time_left)

我的解决方案:

while (not found and not something and
       (time_left is None or time_left > 0)):
    (one, two, three, four) = self.gimme(timeout=time_left)

如果我更改了第 2 行缩进,它会抱怨缩进过度或缺少缩进,从即使是 W 的每个缩进,到它右侧的 8。

我很烦恼添加无关的括号来满足 pep8,几乎没有提高可读性,这违反了一般原则。

有任何想法吗?我错过了更好的解决方案吗?

4

2 回答 2

6

我更喜欢在条件语句之后打破长行以增加可读性。例如:

while (
    not found and 
    not something and 
    (time_left is None or time_left > 9)
):
    (one, two, three, four) = self.gimme(timeout=time_left)

我认为这是非常可读的,至少满足我的 pep8 代码样式检查。

于 2017-07-24T17:12:35.343 回答
0

我认为最好的解决方案是做任何你(和你的团队,如果适用的话)认为是最易读的解决方案。PEP8 只是一个指导方针,不是要求。专注于编写健壮且易于理解的代码。

于 2017-09-29T16:02:59.187 回答