【发布时间】:2016-06-23 00:32:53
【问题描述】:
使用 79 的字符长度,有人会如何制定一个命令,例如:
return method_returning_json()['LongFieldGroup1']['FieldGroup2']['FieldGroup3']['LongValue']
如果我将查找移到下一行,例如:
return method_returning_json()\
['FieldGroup1']['FieldGroup2']['FieldGroup3']['Value']
pep8 抱怨“[ 之前的空格”,因为有几个选项卡。但是,如果我将第二个/第三个/etc 组移动到换行符,它会做同样的事情。
我知道我可以将# noqa 标签添加到行尾,但我希望有更好的方法。
【问题讨论】:
-
您可能希望中断对中间变量的查找(例如,
o1 = method_returning_json()['FieldGroup1']和o2 = o1['FieldGroup2']['FieldGroup3']['Value'])。如果o1和o2可以具有有意义的名称并充当数据的注释,则效果最佳。除此之外,你无能为力。 -
我也不会太痴迷于 PEP8。这是一个很好的指导方针,我很高兴大多数 Python 开发人员大部分时间都遵循它,但是 IMO 你在方法调用后用反斜杠建议的版本是非常可读的,只要没有 too 许多
['groups']['of']['square']['brackets']。 IMOpep8工具抱怨不一定足以更改您的代码。如果它确实提高了可读性,请灵活一点。 -
在标准库本身和文档字符串之外,我认为大多数人认为大约 100 个字符的行长是合理的。也就是说,无论您选择的阈值如何,都应该尝试驯服极端异常值。
标签: python json python-2.7 pep8