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

    arr = _prepare_colorarray(xyz)
    (x, y, z) = (arr[..., 0], arr[..., 1], arr[..., 2])
    eps = np.finfo(np.float).eps
    xyz_ref_white = get_xyz_coords(illuminant, observer)
    L = (y / xyz_ref_white[1])
    mask = (L > 0.008856)
    L[mask] = ((116.0 * np.power(L[mask], (1.0 / 3.0))) - 16.0)
    L[(~ mask)] = (903.3 * L[(~ mask)])
    u0 = ((4 * xyz_ref_white[0]) / np.dot([1, 15, 3], xyz_ref_white))
    v0 = ((9 * xyz_ref_white[1]) / np.dot([1, 15, 3], xyz_ref_white))
    def fu(X, Y, Z):
        return ((4.0 * X) / (((X + (15.0 * Y)) + (3.0 * Z)) + eps))
    def fv(X, Y, Z):
        return ((9.0 * Y) / (((X + (15.0 * Y)) + (3.0 * Z)) + eps))
    u = ((13.0 * L) * (fu(x, y, z) - u0))
    v = ((13.0 * L) * (fv(x, y, z) - v0))
    return np.concatenate([q[..., np.newaxis] for q in [L, u, v]], axis=(-1))

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

def xyz2luv(xyz, illuminant='D65', observer='2'):