Sto avviando un progetto Python open source a breve e sto cercando di decidere in anticipo come scrivere le mie docstring. La risposta ovvia sarebbe utilizzare reStructuredText e Sphinx con autodoc, perché I in realtà mi piace l'idea di documentare semplicemente correttamente il mio codice nelle mie docstring, quindi Sphinx costruisce automaticamente un documento API per me.Esistono alternative reali a reStructuredText per la documentazione di Python?
Il problema è la sintassi reStructuredText che utilizza: penso che sia completamente illeggibile prima del rendering. Per esempio:
: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
Devi davvero rallentare e prendere un minuto per dare un senso di quel guazzabuglio sintattica. Mi piace molto di più il modo in cui Google (Google Python Style Guide), che omologo a quanto sopra appare così:
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 più bello! Ma, naturalmente, Sphinx non avrà nulla di tutto ciò e renderà tutto il testo dopo "Args:" in una lunga riga.
Quindi, per riassumere - prima di andare a defilare il mio codice base con questa sintassi reStructuredText vorrei sapere se ci sono delle vere alternative per usarlo e Sphinx, a meno di scrivere solo il mio documento API. Ad esempio, esiste un'estensione per Sphinx che gestisce lo stile di docstring di Google Style Guide?
Anche il modo Google utilizza il primo. È molto più chiaro –