Ruff undocumented-public-module (D100)
undocumented-public-module проверяет отсутствие документации для публичных модулей.
Почему это неправильно
Публичные модули должны содержать docstring, который описывает их назначение и содержимое. Обычно docstring модуля должен:
- Кратко описывать цель модуля.
- Перечислять экспортируемые классы, исключения, функции и другие объекты с однострочным резюме каждого.
Если модуль используется как скрипт, его docstring должен служить сообщением об использовании (usage). Если в проекте принят определённый стиль оформления модульных docstring (например, по PEP257), следуйте ему для единообразия.
Пример ошибки
class FasterThanLightError(ZeroDivisionError): ...
def calculate_speed(distance: float, time: float) -> float: ...
Как правильно
"""Утилитарные функции и классы для вычисления скорости.
В этом модуле:
- FasterThanLightError: исключение при вычислении сверхсветовой скорости;
- calculate_speed: вычисляет скорость по расстоянию и времени.
"""
class FasterThanLightError(ZeroDivisionError): ...
def calculate_speed(distance: float, time: float) -> float: ...