DEV Community

Cover image for Navigating a new code base
Nick Taylor for Virtual Coffee

Posted on • Updated on

Navigating a new code base

This is a series leading up to a Virtual Coffee Lunch & Learn titled Asking Coding Questions with Bekah, @bekahhw and me, Nick Taylor, happening May 27th.

How do you navigate a new code base?

This can vary depending on your experience level, but we'd love to hear from all of you.

Tell us all your tips and tricks!

Looking for some inspiration? Check out @adiatiayu’s post!

Photo by Thought Catalog on Unsplash

Discussion (24)

Collapse
natescode profile image
Nate
  1. Get a high-level walkthrough by a senior developer / architect
  2. Documentation
  3. Run and debug as you test
  4. Walk through the code
  5. Fix a minor bug or add minor feature
Collapse
nickytonline profile image
Nick Taylor Author

That's awesome! 🔥

Yes, that's awesome!

Collapse
natescode profile image
Nate

Thanks. I've seen my share of large / obscure code bases. It is like waking up on an alien planet.

Collapse
juniordevforlife profile image
Jason F

This is the way.

Collapse
francescobienne profile image
Fra

I’m totally agree 👍🏻

Collapse
cerchie profile image
Lucia Cerchie

I use codesee.io/ to view the overall structure, as well as drawing some of it out to get it in my muscle memory.

Collapse
nickytonline profile image
Nick Taylor Author

Noice!

Noice!

Collapse
icueto profile image
Alex Cueto

Does that support ruby?

Collapse
cerchie profile image
Lucia Cerchie

I don't think it does yet -- the website says Go, Java, JavaScript, Python, & TypeScript.

Collapse
canolcer profile image
Can Olcer

In addition to what others have said, go through the existing automated tests. If there's a good testing culture at the company, the tests should show you how the most important flows and functions work and what you can expect as input and output.

Collapse
nickytonline profile image
Nick Taylor Author

Croc mascot nodding

Collapse
halexmorph profile image
Jacob Landry

Another good thing to consider, see if you can get added to architectural or stakeholder meetings as an observer. Sometimes you can learn a TON about the platform just by seeing it in use or hearing the conversations people are having about it. Even simple things like seeing a single workflow can suddenly flip that switch for you.

Collapse
nickytonline profile image
Nick Taylor Author

Yeah!

A T-Rex saying Yeah!

Collapse
mjcoder_5 profile image
MJCoder

For me it would have to be the following;

  • Walkthrough the codebase
  • Documentation - a must if you are bringing on people that will work on the codebase
  • Testing & debugging code
Collapse
bekahhw profile image
BekahHW

I’m a huge fan of testing and debugging to learn the codebase.

Collapse
mjcoder profile image
Mohammad Javed

It also allows you to see how others code, you can pick up so much.

Collapse
nickytonline profile image
Nick Taylor Author

BB-8 giving a thumbs up

Collapse
rohit16794 profile image
Rohit Retnakaran

I usually prefer someone telling me the entry point for any code base and then take it from there

Collapse
andrewbaisden profile image
Andrew Baisden

Get a developer who is familiar with it to onboard you. Then play around with it in a test environment and learn how everything works.

Collapse
nickytonline profile image
Nick Taylor Author

Actor Zach Galifianakis giving a thumbs up in a convertible car

Collapse
jeremyf profile image
Jeremy Friesen

I'm curious to see what other folks have to say.

I know I learned a bit when I posed this question awhile ago.

Collapse
nickytonline profile image
Nick Taylor Author

Nice!

Nice

Collapse
taowen profile image
Tao Wen

get it up and running, then use debugger to follow one task processing process

Collapse
sarjunan17 profile image
sarjunan
  1. Documentation
  2. Unit tests
  3. Check-in history. We can get an idea which area we need to check for specific module etc