human
I wrote the below code

    def raise_arg_error(argname):
        raise CommandExecutionError('You    must    provide    a    "{0}"    for    the    new    configuration'.format(argname))
    if (not name):
        raise_arg_error('name')
    if (not subvolume):
        raise_arg_error('subvolume')
    if (not fstype):
        raise_arg_error('fstype')
    if (not template):
        template = ''
    try:
        snapper.CreateConfig(name, subvolume, fstype, template)
        if extra_opts:
            set_config(name, **extra_opts)
        return get_config(name)
    except dbus.DBusException as exc:
        raise CommandExecutionError('Error    encountered    while    creating    the    new    configuration:    {0}'.format(_dbus_exception_to_reason(exc, locals())))

What's a good function header?

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

def create_config(name=None, subvolume=None, fstype=None, template=None, extra_opts=None):