Chapter 6. Navigating a Route

...the Investigation of difficult Things by the Method of Analysis, ought ever to precede the Method of Composition.

Sir Isaac Newton

A new recruit joined my development team. Our project, whilst not vast, was relatively large and contained a number of different areas. There was a lot to learn before he could become effective. How could he plot a route into the code? From a standing start, how could he rapidly become productive?

It’s a common situation; one which we all face from time to time. If you don’t, then you need to see more code and move on to new projects more often. (It’s important not to get stale from working on one codebase with one team forever.)

Coming into any large existing codebase is hard. You have to rapidly:

  • Discover where to start looking at the code

  • Work out what each section of the code does, and how it achieves it

  • Gauge the quality of the code

  • Work out how to navigate around the system

  • Understand the coding idioms, so your changes will fit in sympathetically

  • Find the likely location of any functionality (and the consequent bugs caused by it)

  • Understand the relationship of the code to its important satellite parts (e.g., its tests and documentation)

You need to learn this quickly, as you don’t want your first changes to be too embarrassing, accidentally duplicate existing work, or break something elsewhere.

A Little Help from My Friends

My new colleague had a wonderful head start in this learning process. ...

Get Becoming a Better Programmer now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.