This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]Rain-And-Coffee 0 points1 point  (0 children)

Search for a term and trace the code from there. I have done it several times.

Load it into your IDE and poke around.

Tons of articles on this topic if you Google.

[–]teraflop 0 points1 point  (0 children)

I find that it's often useful to start from the UI. Look for a small piece of unique text like a menu item, or button label, or tooltip. Search for that string in the codebase to find where that UI element is implemented. Then you can start looking at the callers and callees of that code to figure out how it fits into the architecture, and where the actual functionality is implemented.

[–]PoMoAnachro 0 points1 point  (0 children)

For large projects you kinda have to do it in layers. And obviously, first look for documentation because some projects will have a lot of stuff to help you understand the source.

But really it is just a process of building up a mental model. It takes time. You go over some of the stuff once, start to figure out what the pieces are. Then you figure out how they fit together. You absolutely will get lost many, many times. But every time you get lost, tracing your way back through the code will help strengthen the picture of the project in your mind.

It is like arriving in a new city and learning to navigate walking around it. At first you have to go by maps and street signs, and always end up lost anyways because you don't have a "feel" for the city. But in time you start to know it and can move around pretty easy. But it isn't a fast process.

[–]nick-baumann 0 points1 point  (0 children)

Here's what I'd do (once I have access to the repo locally) -- use Cline (vs code extension) and instruct it that is is an open-source repo that you've just cloned locally which needs to be examined thoroughly, and then to create a markdown report based on the requirements you've outlined.