Ruff line-too-long (E501)
line-too-long в Ruff проверяет строки, превышающие установленную максимальную длину символов.
Почему это неправильно
Слишком длинные строки ухудшают читаемость кода. PEP 8 рекомендует ограничивать строки 79 символами. По умолчанию это правило в Ruff использует лимит 88 символов для совместимости с Black и Ruff Formatter, но этот лимит можно настроить через параметр line-length.
В некоторых случаях правило делает исключения:
- Игнорируются строки, состоящие из одного "слова" (без пробелов).
- Игнорируются строки, оканчивающиеся URL, если URL начинается до установленного лимита.
- Игнорируются строки с pragma-комментариями (например, # type: ignore или # noqa), если комментарий начинается до лимита.
- Игнорируются идентификаторы лицензий SPDX и уведомления об авторских правах (# SPDX-License-Identifier: MIT).
- Если lint.pycodestyle.ignore-overlong-task-comments включен, игнорируются комментарии с TODO и другими тегами задач.
Пример ошибки
my_function(param1, param2, param3, param4, param5, param6, param7, param8, param9, param10)
Как правильно
my_function(
param1, param2, param3, param4, param5,
param6, param7, param8, param9, param10
)
Подавление ошибки
При подавлении ошибки E501 в многострочных строках (например, docstring) директива # noqa должна стоять после закрывающих тройных кавычек:
"""Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
""" # noqa: E501