验证代码和文档匹配

Verify code and documentation match

使用 Sphinx 扩展 NumpyDoc,是否有某种方法可以自动确保文档与其记录的代码匹配?

例如,由于拼写错误,以下文档与代码不匹配:

def myfunc(apples, bears):
"""
    Parameters
    ----------
    apples : int
        The number of apples.
    beards : int
        The number of bears to eat the apples.
"""

Sphinx 或 NumpyDoc 可以将其设为错误吗?

这是内置于 NumpyDoc 或 Sphinx 中的,但可以使用 。这是实现所需功能的代码片段:

import inspect

from numpydoc.docscrape import FunctionDoc

def myfunc(apples, bears):
    """
        Parameters
        ----------
        apples : int
            The number of apples.
        beards : int
            The number of bears to eat the apples.
    """

doc = FunctionDoc(myfunc)
argspec = inspect.getargspec(myfunc)

# check for basic spelling errors
for a_i, arg in enumerate(argspec.args):
    if arg != doc["Parameters"][a_i][0]:
        print("%s != %s" %(arg, doc["Parameters"][a_i][0]))