Я пытаюсь получить свою документацию для проекта с открытым исходным кодом, над которым я работаю, что связано с зеркальным API-интерфейсом клиента и сервера. С этой целью я создал декоратор, который большую часть времени может использоваться для документирования метода, который просто выполняет проверку на его входе. Вы можете найти класс, полный этих методов здесь и реализация декоратора здесь.
Декоратор, как вы можете видеть, использует functools.wraps
, чтобы сохранить docstring, и я подумал также о сигнатуре, однако исходный код и сгенерированная документация выглядят следующим образом:
Источник:
против
Документы:
Кто-нибудь знает какой-либо способ иметь setH
сгенерированную документацию, показывающую правильную сигнатуру вызова? (без наличия нового декоратора для каждой подписи - есть hudreds методов, которые мне нужно отразить)
Я нашел обходное решение, связанное с тем, что декоратор не менял несвязанный метод, но, если класс мутировал метод во время привязки (объект-экземпляр объекта) - это похоже на взломать, поэтому любые комментарии к этому или альтернативные способы сделать это, будут оценены.