Есть ли общепринятый способ сделать это? Это приемлемо:
#########################################################
# Create a new user
#########################################################
def add(self):
Есть ли общепринятый способ сделать это? Это приемлемо:
#########################################################
# Create a new user
#########################################################
def add(self):
Правильный способ сделать это - предоставить docstring. Таким образом, help(add)
также выплюнет ваш комментарий.
def add(self):
"""Create a new user.
Line 2 of comment...
And so on...
"""
Это три двойных кавычки, чтобы открыть комментарий и еще три двойных кавычки, чтобы закончить его. Вы также можете использовать любую действительную строку Python. Он не должен быть многострочным, а двойные кавычки могут быть заменены одинарными кавычками.
Смотрите: PEP 257
Используйте docstring, как уже писали другие.
Вы даже можете сделать еще один шаг и добавить doctest в свою документацию, что автоматически автоматизирует тестирование ваших функций.
Используйте docstring:
строковый литерал, который встречается как первый оператор в определении модуля, функции, класса или метода. Такая docstring становится специальным атрибутом
__doc__
этого объекта.Все модули, как правило, должны иметь docstrings, и все функции и классы, экспортируемые модулем, также должны иметь docstrings. У общедоступных методов (включая конструктор
__init__
) также должны быть docstrings. Пакет может быть задокументирован в docstring модуля файла__init__.py
в каталоге пакета.Строковые литералы, встречающиеся в другом месте кода Python, также могут выступать в качестве документации. Они не распознаются компилятором байт-кода Python и недоступны в качестве атрибутов объекта времени выполнения (т.е. Не назначены на
__doc__
), но с помощью программных средств могут быть извлечены два типа дополнительных док-строк:
- Строковые литералы, возникающие сразу после простого назначения на верхнем уровне модуля, класса или
__init__
метода, называются "атрибутами docstrings".- Строковые литералы, возникающие сразу после другой docstring, называются "дополнительными docstrings".
См. PEP 258, "Спецификация дизайна Docutils" [ 2], для подробного описания атрибута и дополнительных docstrings...
О, мальчик! Рассмотрим банку открытых червей:)
Принципы хорошего комментирования довольно субъективны, но вот некоторые ориентиры:
Читайте об использовании docstrings в вашем коде на языке python.
В соответствии с соглашениями Docstring Python:
docstring для функции или метода должна суммировать ее поведение и документировать его аргументы, возвращаемые значения, побочные эффекты, поднятые исключения и ограничения на то, когда они могут быть вызваны (все, если применимо). Необязательные аргументы должны быть указаны. Необходимо документировать, являются ли аргументы ключевого слова частью интерфейса.
Не будет золотого правила, а скорее предоставит комментарии, которые означают что-то для других разработчиков вашей команды (если у вас есть) или даже для себя, когда вы вернетесь к нему через полгода.
Я бы пошел на документацию, которая интегрируется с инструментом Documentation, например Sphinx.
Первым шагом является использование docstring
:
def add(self):
""" Method which adds stuff
"""
Я бы сделал шаг дальше, чем просто сказать "использовать docstring". Выберите инструмент создания документации, такой как pydoc или epydoc (я использую epydoc в pyparsing) и использую синтаксис разметки, распознаваемый этим инструментом. Запустите этот инструмент часто, пока вы делаете свою разработку, чтобы идентифицировать дыры в своей документации. Фактически, вы можете даже извлечь выгоду из написания docstrings для членов класса перед реализацией класса.