I find the only way for me is to actually run the code locally, play around with it until I understand the data flow.