I can follow tutorials, but starting a project from scratch often leaves me stuck in notes and documentation without much working code. What are some practical ways to explore an existing codebase and learn how it works?
How do I get better at understanding existing code?
Answers
Pick one observable behavior and trace it through the code. For example, find where a button click is handled, then follow the functions it calls until you find the resulting change. You can also start at the output and work backward through the callers.
Don't try to understand the whole application at once. Write down the parts involved in that one path, then change something small and see whether the behavior matches your expectation.
Reply to this answer
Find a small project you can run, then modify, break, and fix it. Changing existing code counts as building something. You don't have to choose between that and starting from scratch, and the next project can be a little bigger.
Reply to this answer
When a line makes no sense, narrow down what you don't understand. Is it a language keyword, an operator, a library call, or a decision specific to that project? Look up that piece and try it in a tiny example before returning to the original code.
That keeps the documentation tied to a question instead of turning into a huge research session.
Reply to this answer
A mod can be a useful middle ground if the game and its modding tools interest you. You get an existing application to investigate and a framework to work within, while still making a feature of your own. Start by finding an existing behavior and making a small variation on it.
Reply to this answer
Give yourself permission to make a rough first version. Get one fundamental feature working, then clean it up as you learn more. Refactoring isn't proof that the first attempt failed. It's a chance to understand why a different structure might be easier to change.
Reply to this answer
Add your answer
Answers are reviewed before publication.
!check+the~potholder_3:
A debugger or a few temporary log statements can help you check which path actually runs, especially when there are several possible callers.