human
I wrote the below code

    document = state.document
    real_names = {}
    warnings = []
    prefixes = ['']
    prefixes.insert(0, document.settings.env.currmodule)
    table = nodes.table('')
    group = nodes.tgroup('', cols=2)
    table.append(group)
    group.append(nodes.colspec('', colwidth=30))
    group.append(nodes.colspec('', colwidth=70))
    body = nodes.tbody('')
    group.append(body)
    def append_row(*column_texts):
        row = nodes.row('')
        for text in column_texts:
            node = nodes.paragraph('')
            vl = ViewList()
            vl.append(text, '<autosummary>')
            state.nested_parse(vl, 0, node)
            row.append(nodes.entry('', node))
        body.append(row)
    for name in names:
        try:
            (obj, real_name) = import_by_name(name, prefixes=prefixes)
        except ImportError:
            warnings.append(document.reporter.warning(('failed    to    import    %s' % name)))
            append_row((':obj:`%s`' % name), '')
            continue
        real_names[name] = real_name
        title = ''
        qualifier = 'obj'
        col1 = ((':' + qualifier) + (':`%s    <%s>`' % (name, real_name)))
        col2 = title
        append_row(col1, col2)
    return (table, warnings, real_names)

What's a good function header?
assistant
#Here's a good function header.

def get_autosummary(names, state, no_signatures=False):