QGC Source code

How one can understand the QGC source code?

Asking this question because what i understood while reading and understanding the QGC source code for months is if you want add new feature or update existing feature, you have to make changes to so many files in the source code. Just replicating the things wont work. Documentation is useless.

Some folks started making videos to show how one can customise the application on youtube but they ended up leaving the topics incomplete because as per them its really difficult to make the audience understand what they are doing beyond the point.

Please come forward and try to answer.