Guide to help developers/code contributors to get familiar with unfamiliar code

There are many situations a developer or a code contributor comes across a new code base, be it a rise in attrition rate (post-pandemic) or a modern multi-tech stack combination requiring individuals to work on multiple code bases from time to time. This triggers a lack of confidence in taking tasks related to the new codebase (alienation 👽 effect).

Here I have tried to list some guided steps one can take to get familiar with any new codebase they come across.

Understanding the background business/domain.

Leave the code aside, and understand the company's or product's core.

Take a tour - as an end user.

End-users, know the product better than any other stakeholder.

This will help you to create an imaginary flow in your mind, hence the tour.

Reading the documentation available.

Documentation is primarily divided into high-level ( i.e Architecture and technical documentation) and low-level documentation ( i.e folder structure, naming conventions, and coding standards being used by the team).

Also, this will help you to clear a lot of doubts that may arise when you actually explore the code or have a code walkthrough.

Setting up the project on local

Setting up a project will naturally force you to read the documentation.

Going through unit tests

A properly written unit test/ automation script can elaborate on how the code works, and what to expect from modules/functions.

Not only this, but also one can start diving into actual code through the unit tests, to understand how the particular part of code works and produce the expected results for the test case(s).

Looking at the Pull requests

PR(s) give you an idea of the current work being done, and what to expect in your upcoming tasks.

Spending time with code

Love, at first sight! doesn't work with code.

One needs to know the code and spend serious time to be in a relationship with the codebase:

Peer validation

Have validation of your understanding from existing team members.

It was all! I hope this will this would add some value to your journey of getting familiar with the new code base.

Happy coding! 🧑‍💻

For more such content follow me on LinkedIn https://www.linkedin.com/in/shivam-baghla/


Also published here.