I did it by making separate config files for everything: host templates, every host type in separate file using different host templates, services, hostgroups, servicegroups, dependencies, timeperiods and hostextinfo.
It’s easier to read such files and find what you’re looking for in further development of you monitoring process.
I have put them (cfg files) in a separate folder (in my home directory 'till I find them working how I want and stable). I will put them in original folder (/etc/nagios#/conf.d) when I will be sure that already mentioned conditions are satisfied. And beside that, it’s safe to leave those original .cfg files untouched in case anything goes wrong. Backup them somewhere safe.
My .cfg files are named my_hosts.cfg, my_services.cfg to avoid duplicate file names, and again, to ease the finding of my files in future.
nagios.cfg file the must also be modified. Backup it also before you change anything. Comment (#) lines that apply to read those original .cfg files and add lines that lead to the path where are your files.
For the format of the files, you can use the format from original files. Just copy/paste the text from orig. conf files to yours and modify them as needed. They are already written as simple as they can be.
Hope this helps.