Measure Interest Rates

Refactoring complex code is a high-risk and expensive activity, so you want to ensure your time is well invested. This is a problem because legacy codebases often contain tons of code of suboptimal quality. You know, that kind of module where we take a deep breath before we dive in to look at it and hope we don’t have to touch the code. Ever. Given such vast amounts of code in need of improvement, where do we start? A behavioral code analysis provides an interesting answer to that puzzle. Have a look at the figure to see what I mean.

These graphs present an evolutionary view of three distinct codebases. We’ve sorted the files in each codebase according to their change frequencies—that is, the number of commits done to ...

Get Software Design X-Rays 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.