line-too-long (E501)
源自 pycodestyle linter。
作用
检查超出指定最大字符长度的行。
为什么这不好?
过长的行会影响可读性。例如,PEP 8 建议将行限制为 79 个字符。 默认情况下,此规则强制执行 88 个字符的限制,以与 Black 和 Ruff 格式化程序兼容,但可以通过 line-length
设置配置该限制。
出于实用主义的考虑,此规则在确定行是否过长时会做一些例外处理。 即,它
- 忽略仅由单个“单词”(即字符之间没有任何空格)组成的行。
- 忽略以 URL 结尾的行,只要 URL 在行长度阈值之前开始。
- 忽略以 pragma 注释结尾的行(例如,
# type: ignore
或# noqa
),只要 pragma 注释在行长度阈值之前开始。 也就是说,如果 pragma 注释导致行超过行长度,则该行不会被标记为过长。(此行为与 Ruff 格式化程序的行为一致。) - 忽略 SPDX 许可证标识符和版权声明(例如,
# SPDX-License-Identifier: MIT
),它们是机器可读的,不应换行。
如果 lint.pycodestyle.ignore-overlong-task-comments
为 true
,则此规则还将忽略以任何指定的 lint.task-tags
开头的注释(例如,# TODO:
)。
示例
建议改为
错误抑制
提示:在抑制多行字符串(如文档字符串)中的 E501
错误时,noqa
指令应位于字符串的末尾(在结束的三引号之后),并将应用于整个字符串,如下所示
"""Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
""" # noqa: E501