Tenhle clanek se teprve tvori.

Úvod

Za několik let, co se živím programováním v pythonu, jsem na narazil na různé guideliny jak psát a na jedněch sem se i podílel. Tématem, které mi vždy přišlo takové důležitě-nedůležité je, jak psát docstringy, resp. dokumentaci kódu.

To se netýká týmů, které používají automatickou generaci dokumentace jako je třeba Sphinx, pydoctor, Doxygene a další., protože pro funkci těchto generátorů je zapotřebí mít konzistentní dokumentaci a tedy dbát na to při review (a samozřejmě znát možnosti daného generátoru).

Na velkých projektech, které nemají dobře definované coding-guidelines, tedy nemají ani definované jak mají vypadat docstringy, to může vypadat i tak, že v jednom modulu, nalezenete v rámci jedné třídy několik různých zápisů docstringu.

Pokud to není definováno v rámci projektu, tak by měli být docstringy konzistentní alespoň v rámci modulů, případně podprojektů. Vzhledem k tomu, že často pak člověk narazí i na zvláštní mix, kdy kodér chtěl napsat docstring v nějakém stylu, ale nevěděl jak je ten správný, tak z toho nakonec vyšl jakýsi šlechtěnec dvou typů, případně s novými standardy.

Co je docstring?

Docstring je víceřádkový string, které jsou uvozené a zakončené třemi dvojitýma uvozovkama:

"""
Tohle je docstirng
"""

Docstring můžete najít na několika místech:

  • v modulu
  • ve třídě
  • ve funkci/metodě

Základy ohledně docstringů jsou definovány v PEP-257.

Typy docstring-ů

Mezi nejčsatěji používané docstringy patří:

Sphinx

Google

NumPy

Epytext

Epytext je založený na docstringu

Zdroje