As always I can only but agree with what Ben said.
A good way to code and this is something Ben has been promoting in this tutorial from day one is to brake everything in small functions and choose a name that tells what the function is all about without having to look at the internals.
The way I code is like this but taken to extreme , I further break the function to smaller functions again with names that indicate what they do, then those broken to smaller functions and this continuous until I end up with functions that are just one line and only 5-10 nodes.
This what coder call “self documented code” , though personally I strongly disagree with the idea that code is able to document itself but I agree of course at least it gives a first good idea of what the code is all about.
This method can work for both writting code and understanding because in both cases it will allow you each time you browse a function to only see a bird eye view that describes a very simple structure that in top level loos a bit like
Start Menu -> Options
L-> Start Game
|-> Load Game
L-> Save Game
then in separate window
Start Game -> Load Map -> Load user data -> Begin Play
Begin Play -> Execute Level Blueprint -> Begin Game Loop
Execute Level Blueprint -> Random Generation of Map -------> Connect with Server
L > adjust difficult to player level_____|
and so forth