3 ms·
In this order, I personally: * Run a `tree` and a `tree -d` to figure out the global structure of the project and try to understand how it's organized. Read mo
by thiht 11y ago
In this order, I personally:
* Run a `tree` and a `tree -d` to figure out the global structure of the project and try to understand how it's organized. Read most file names and try to look inside some files
* If one or more authors of the code are available to guide you, ask them (reading through the project structure first really helps to understand what they'll tell you about)
* If there are tests, read them, they're a very useful resource to understand what the code actually does
* If there are docs (particularly diagrams, but anything can help), read them
* If there is an entry point to the program, try to follow it and draw sequence diagrams (-ish, no need to be thorough if it's for you, but keep in mind it can be used by someone else (maybe even future-you) later so try to keep it clean and digitalized). For this you can also use a debugger and place some breakpoints wherever you want
* Read the code, modify it to see what happens, and add comments to what you manage to understand
Obviously take notes of everything you learn.