As I'm learning Godot, one area I keep falling down on and can't help feeling I'm doing something horribly wrong is when it comes to referencing a node by its path or calling a script function inside a script via the node's path. When I then inevitably rejig the order of my nodes after making a cosmetic change, or for whatever reason, I need to go through my script changing all the paths wherever they're referenced. This seems like terribly inefficient way of doing things and could easily result in missing a fix.
Is there a better way of doing this which I'm missing entirely? I changed to assigning a path to a variable so I only need to change it once at the top of the script but it still feels cumbersome. I also messed about setting up an init function that would run through an array of all my paths, checking they were valid so at least I could catch any mistakes on launch. But that felt like overkill.
Is there a "correct" way to do this?