Function boundaries
Last updated
Split functions by responsibility, not arbitrary line count:
pure calculation with parameters/return;
one state transition owner;
one persistence load/save owner;
one output finalizer;
one feedback renderer;
one menu/input router.
Avoid deep chains of tiny wrappers; they increase stack/call overhead and hide execution order.
Last updated

