Templates
First thing first, I will highly recommend to forget about data pack templates as a pack that you download/copy every time you want to create a new one.
No, mcfunction isn't C#, you don't have to have a billion of declarations and instructions, all it takes to have a valid pack is to have a pack.mcmeta
file!
If you want to be a good programmer, than you should understand what are you writing and why. This is one of the main points of this documentation.
So, how do you start developing then? Lets break it down.