human
Here's a good function header given the following:
I wrote the below code

    from jedi.evaluate import representation as er
    def check_python_file(path):
        try:
            node_cache_item = parser_cache[path]
        except KeyError:
            try:
                return check_fs(path)
            except IOError:
                return None
        else:
            module_node = node_cache_item.node
            return er.ModuleContext(evaluator, module_node, path=path)
    def check_fs(path):
        with open(path, 'rb') as f:
            code = source_to_unicode(f.read())
            if (name in code):
                module_name = os.path.basename(path)[:(-3)]
                module = _load_module(evaluator, path, code)
                add_module(evaluator, module_name, module)
                return module
    used_mod_paths = set()
    for m in modules:
        try:
            path = m.py__file__()
        except AttributeError:
            pass
        else:
            used_mod_paths.add(path)
        (yield m)
    if (not settings.dynamic_params_for_other_modules):
        return
    paths = set(settings.additional_dynamic_modules)
    for p in used_mod_paths:
        if (p is not None):
            d = os.path.dirname(os.path.abspath(p))
            for file_name in os.listdir(d):
                path = os.path.join(d, file_name)
                if ((path not in used_mod_paths) and (path not in paths)):
                    if file_name.endswith('.py'):
                        paths.add(path)
    for p in sorted(paths):
        m = check_python_file(p)
        if ((m is not None) and (not isinstance(m, compiled.CompiledObject))):
            (yield m)

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

def get_modules_containing_name(evaluator, modules, name):