Ruff doc-line-too-long (W505)

doc-line-too-long в Ruff проверяет строки документации, превышающие установленную максимальную длину символов.

Почему это неправильно

Длинные строки в блоках документации (docstrings или комментариях) ухудшают читаемость кода. Например, PEP 8 рекомендует ограничивать такие строки 72 символами.

Это правило применяет ограничение, заданное в настройке lint.pycodestyle.max-doc-length. Если значение не указано, правило не будет применяться, даже если оно выбрано в --select.

В рамках этого правила "строка документации" определяется как строка, содержащая либо отдельный комментарий, либо отдельную строку документации.

Некоторые исключения:

  • Игнорируются строки, состоящие из одного "слова" без пробелов.
  • Игнорируются строки, заканчивающиеся URL, если URL начинается до установленного предела длины.
  • Игнорируются строки с pragma-комментариями (например, # type: ignore или # noqa), если они начинаются до установленного предела длины.
  • При включенной настройке lint.pycodestyle.ignore-overlong-task-comments также игнорируются строки с тегами задач (например, # TODO:).

Пример ошибки

def function(x):
    """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis auctor purus ut ex fermentum, at maximus est hendrerit."""

Как правильно

def function(x):
    """
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Duis auctor purus ut ex fermentum, at maximus est hendrerit.
    """