如何正确换行 django 语句以满足 flake8?
How to properly line-wrap a django statement to satisfy flake8?
此代码从 flake8 获取 E501 line too long (85 > 79 characters)
:
qobjs &= Q(
latest_visit__visitstatistics__worst_zscore__gte=worst_zscore_min_filter)
此代码得到 E251 unexpected spaces around keyword / parameter equals
:
qobjs &= Q(
latest_visit__visitstatistics__worst_zscore__gte=
worst_zscore_min_filter)
满足flake8正确的是什么?
编辑:我最后告诉 flake8 用 noqa 忽略。我以为这行不通,但我不得不read the docs更加小心。
假设您不能选择更合理的变量名称,因为这些是机器生成的,我不会担心,只需告诉 pep8
(或 pycodestyle
,或任何 flake8
实际上是用来检查 PEP-8 一致性)忽略行:
qobjs &= Q(...) # noqa
(更新:# noqa: E501
不是完全忽略该行,而是让您忽略行的长度,但仍会检查其他问题。)
如果您仍在使用默认的最大线宽 79,请考虑使用更长的线宽。 PEP-8 实际上只需要标准库中代码的宽度,并且它明确指出团队可以就更长的宽度达成一致
宽度。
您收到的错误是因为 =
之后的换行符被计为空格,就好像您输入了 Q(late...gte= worse...filter)
。您可以使用明确的行继续:
qobjs &= Q(
latest_visit__visitstatistics__worst_zscore__gte=\
worst_zscore_min_filter)
或使用较短的临时名称:
x = 'latest_visit__visitstatistics__worst_zscore__gte'
y = worst_zscore_min_filter
qobjs &= Q(**{x: y})
但我的偏好是停止试图安抚 flake8
那些一开始就不应该是人类可读的代码。
此代码从 flake8 获取 E501 line too long (85 > 79 characters)
:
qobjs &= Q(
latest_visit__visitstatistics__worst_zscore__gte=worst_zscore_min_filter)
此代码得到 E251 unexpected spaces around keyword / parameter equals
:
qobjs &= Q(
latest_visit__visitstatistics__worst_zscore__gte=
worst_zscore_min_filter)
满足flake8正确的是什么?
编辑:我最后告诉 flake8 用 noqa 忽略。我以为这行不通,但我不得不read the docs更加小心。
假设您不能选择更合理的变量名称,因为这些是机器生成的,我不会担心,只需告诉 pep8
(或 pycodestyle
,或任何 flake8
实际上是用来检查 PEP-8 一致性)忽略行:
qobjs &= Q(...) # noqa
(更新:# noqa: E501
不是完全忽略该行,而是让您忽略行的长度,但仍会检查其他问题。)
如果您仍在使用默认的最大线宽 79,请考虑使用更长的线宽。 PEP-8 实际上只需要标准库中代码的宽度,并且它明确指出团队可以就更长的宽度达成一致 宽度。
您收到的错误是因为 =
之后的换行符被计为空格,就好像您输入了 Q(late...gte= worse...filter)
。您可以使用明确的行继续:
qobjs &= Q(
latest_visit__visitstatistics__worst_zscore__gte=\
worst_zscore_min_filter)
或使用较短的临时名称:
x = 'latest_visit__visitstatistics__worst_zscore__gte'
y = worst_zscore_min_filter
qobjs &= Q(**{x: y})
但我的偏好是停止试图安抚 flake8
那些一开始就不应该是人类可读的代码。