Well after months of reading the code, i couldn't find a method that could simplify the code, all i did is read the code and try to follow along the developer guide (it can help you to know where to start from) and do some debugging when i want to know a specific piece of code how it works.....
Generally what helps is to focus on a specific topic and follow along the code related to it , and as i said try reading the developer guide it gives helpful tips on how the coding is made.....
I encourage you to try first making a simple app to send/receive mavlink messages , and then go for bigger topics.
I hope this will be of any help to you.