Ruff overload-with-docstring (D418)
overload-with-docstring в Ruff проверяет код на предупреждение D418. Правило относится к группе pydocstyle.
Почему это неправильно
Docstring помогает понять публичный интерфейс и должна быть оформлена так, чтобы её корректно читали люди и инструменты.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила overload-with-docstring и пример ниже.
Пример ошибки
from typing import overload
@overload
def factorial(n: int) -> int:
"""Return the factorial of n."""
@overload
def factorial(n: float) -> float:
"""Return the factorial of n."""
def factorial(n):
"""Return the factorial of n."""
factorial.__doc__ # "Return the factorial of n."
Как правильно
from typing import overload
@overload
def factorial(n: int) -> int: ...
@overload
def factorial(n: float) -> float: ...
def factorial(n):
"""Return the factorial of n."""
factorial.__doc__ # "Return the factorial of n."
Автоисправление
Ruff не предлагает автоисправление для этого правила.
