Hey, I have a question for yous.
I have limited experience of programming in general. Just little scripts here and there to solve problems. I am good with basics of c++ and now I want to dive deeper. I believe a good practice would be to start studying some open source app and learn how they coded it to get a sense of it.
My problem is, I don't even know how to read some open source app. It's just so much of code (even small projects) for me to get started with.
Do you have any tips on how do you READ someone's code to understand how they developed that app. For example, let's say implementation of "ls" command on Linux.
Unfortunately there's no definitive guide to reading projects code, since there are too many ways to build app architecture and even in the same field you can find dozens of "common" patterns. And without knowing these patterns it can be really hard to understand what the code is actually doing (sometimes even with debugger).
It can be frustrating to read such code and then find out that you've spent lot of time on investigating some helper code that is not particularly interesting to the app.
What I can suggest in a case you open an app and can't understand where to even start looking: you can try to find some documentation. Second, you can find communities or discussion groups about this project and ask there about where to start and where to look at some things (like you would do when you get to work on a new project). If the project is small, you can ask the developers themself for advices about where to look to find something that you're interested in. And also you can find unit/auto tests and look at their code, sometimes they can provide a lot of insides of how specific systems work.
Also there are many articles on the internet (and even a book I see) on the topic of reading code, I suggest to read some of those to get some insights.