Какие существуют средства автодокументации кода Python для недокументированного кода?

В одном проекте, доставшемся "по наследству", написанному на фреймворке FastAPI (если это имеет значение), имеется более тысячи строк едва документированного кода, все в одном файле (!). Понятное дело, в этой мешанине трудно ориентироваться и хочется начать с автодокументации кода. Я имею в виду не просто генерацию названия функций с их сигнатурами, а больше про то какое у них предназначение. А для этого, насколько я понимаю, нужно использовать ИИ модели, понимающие код и умеющие делать подытоживание.
Пробовал Sphinx расширение AutoAPI, но оно не решает саму проблему с отсутствующими комментариями. А мне очень важно, чтобы хотя бы вкратце функции и методы говорили об их предназначении.
В общем, исходя из возможностей инструментов автодокументирования, прихожу к выводу, что они не умеют делать вышесказанного. Или я не прав?

Пример исходного кода:
def get_docs_time_range(docs: list[DTOStatus]) -> tuple[datetime, datetime]:
    dates = [doc.created_at_timestamp for doc in docs]
    dates.sort()
    earliest = dates[0]
    latest = dates[-1]
    return (earliest, latest)


Желаемый результат:
def get_docs_time_range(docs: list[DTOStatus]) -> tuple[datetime, datetime]:
    """
    Returns the earliest and latest timestamp from the given list of DTOStatus objects.
    
    Args:
        docs (list[DTOStatus]): A list of DTOStatus objects containing the timestamps to analyze.
    
    Returns:
        tuple[datetime, datetime]: A tuple containing the earliest and latest timestamps from the input list.
    """
    dates = [doc.created_at_timestamp for doc in docs]
    dates.sort()
    earliest = dates[0]
    latest = dates[-1]
    return (earliest, latest)
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы