DEV Community

Cover image for Navigating a new code base

Navigating a new code base

Nick Taylor on May 20, 2022

This is a series leading up to a Virtual Coffee Lunch & Learn titled Asking Coding Questions with Bekah, @bekahhw and me, Nick Taylor, happenin...
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

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

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

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

BB-8 giving a thumbs up

Collapse
 
nickytonline profile image
Nick Taylor

That's awesome! 🔥

Yes, that's awesome!

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

Actor Zach Galifianakis giving a thumbs up in a convertible car

Collapse
 
taowen profile image
Tao Wen

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

Collapse
 
arjunan 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
Collapse
 
nickytonline profile image
Nick Taylor

Nice!

Nice

Collapse
 
juniordevforlife profile image
Jason F

This is the way.

Collapse
 
francescobienne profile image
Fra

I’m totally agree 👍🏻