It is hard to say what is best.
I build the admin/fields interface in what I believe makes it most usable by the client, then I deal with the coding necessary to use them, but then I don’t depend on code in the documentation except as basic examples.