Well, dos and donts is a separate topic than the flow of the code... There is this FAQ on program plugins, but I'm also sure there are more related links available.
https://www.zen-cart.com/content.php...ion-guidelines
I look at it from, do be helpful, don't break things, do test as much as possible/feasible, don't forget security/how things can go wrong and what will happen if they do, try not to alter core code and instead provide the solution from the approach of the template or other overrideable aspect, sometimes a minor override is necessary to offer addtional capability and if/when so try to add the functionality using a notifier/observer pair.
Just some big picture dos/donts... Biggest thing: do give it your best and have fun with it, and don't be surprised to make a mistake and start all over... Life happens... :)