Я начинаю проект с открытым исходным кодом Python в ближайшее время, и я пытаюсь заранее решить, как писать мои docstrings. Очевидным ответом будет использование reStructuredText и Sphinx с autodoc, потому что I действительно, как идея просто правильно документировать мой код в моих документах, тогда Sphinx автоматически построит документ API для меня.Есть ли реальные альтернативы reStructuredText для документации Python?
Проблема заключается в синтаксисе reStructuredText, который он использует - я думаю, что он полностью нечитабелен перед его визуализацией. Например:
:param path: The path of the file to wrap :type path: str :param field_storage: The :class:`FileStorage` instance to wrap :type field_storage: FileStorage :param temporary: Whether or not to delete the file when the File instance is destructed :type temporary: bool
Вы должны действительно замедлить и занять минуту, чтобы сделать какой-то смысл этой синтаксической перемешивать. Мне нравится гораздо больше, как Google (Google Python Style Guide), что аналог выше выглядит следующим образом:
Args: path (str): The path of the file to wrap field_storage (FileStorage): The FileStorage instance to wrap temporary (bool): Whether or not to delete the file when the File instance is destructed
Way лучше! Но, конечно, Sphinx не будет иметь ничего из этого и отобразит весь текст после «Args:» в одной длинной строке.
Итак, чтобы подвести итог - прежде чем я пойду и дефинирую свою базу кода с помощью этого синтаксиса reStructuredText, я хотел бы знать, существуют ли какие-либо реальные альтернативы его использованию и Sphinx, а не просто написать собственный API-документ. Например, существует ли расширение для Sphinx, которое обрабатывает стиль docstring в стиле стилей Google?
В google way также используется первый. Это намного яснее –