5 ms·
Maybe it's because I'm a less experienced programmer, but I find I have a lot of trouble understanding source code if I'm not trying to find or change something
by Wowfunhappy 4y ago
Maybe it's because I'm a less experienced programmer, but I find I have a lot of trouble understanding source code if I'm not trying to find or change something specific. I can't read it like a book, I have to experiment with it.
- rco8786 4y agoI don’t typically read to understand anything in depth unless im doing something like that. But just poking around the folder structure, seeing what the api looks like, the background jobs (usually pretty descriptive in their names), database structure, etc gives you a good feel for high level functionality and then more importantly when you want to answer a more specific question you know right where to go look. Sometimes a question will come up during a meeting, nobody knows the answer, so I’ll just pull up the source and because it’s already handy and since I know the structure I can find the answer in a matter of seconds.
- lliamander 4y agoIt's definitely a skill that takes time to develop, but don't be discouraged! Even reading code in the way you are now is helping you develop this skill. Your ability to navigate a codebase, to able to see how its components relate to each other and to the effects the software has on the external world, is the perhaps the most valuable skill you can develop as a programmer. If you also have strong communication skills, you will go far.
- Zak 4y agoOne thing that can help with certain scenarios is to think of it like debugging. "I thought when I did X, Y would happen, but instead Z happened - let me figure out why".
- shagie 4y agoFrom a different set of essays titled How To Be A Programmer ( https://github.com/braydie/HowToBeAProgrammer https://github.com/braydie/HowToBeAProgrammer ) - How to Conduct Experiments https://github.com/braydie/HowToBeAProgrammer/blob/master/en/1-Beginner/Personal-Skills/12-How-to-Conduct-Experiments.md https://github.com/braydie/HowToBeAProgrammer/blob/master/en... The entire set is good and I occasionally go back and revisit them.
- mixedCase 4y agoIf you're willing to consider a piece of advice, even the most complex rude goldberg-style codebases will yield to the program entry point. From there, you can start pulling at the wool and process it one knot a time. It's tedious, slow work, but you can use note-taking, the REPL, tests (reading, if any, but also writing them), diagrams or any other tool for creating mental models until you manage it.