
Ask HN: What's your method for getting to know a new codebase? - aerovistae
When you start a new job with a large existing codebase, what are your techniques for getting to know it as quickly as possible?
======
bradcomp
I generally go through something like the following steps:

* I look at the readme if it exists

* I pull down the project and run any setup steps (install dependencies, start up database, etc).

* If there are tests, I try to get the tests to run (this may lead to additional setup)

* Once I get the tests to run, I make sure they are all passing

* If it's an application (as opposed to a library) I will get it up and running on my computer and play around with it as a user.

* Finally I will start scanning the source code - Starting with the main app, and digging down where it seems relevant.

* If I am looking for some specific functionality, I let that guide my perusal of the source, otherwise it's just looking at the major pieces - routes, views, models, etc. to get a feel for what the relevant parts of the app are.

