A codebase under active development evolves at a rapid pace, and as soon as the organization scales beyond 10-12 people it’s virtually impossible for a single individual to maintain a holistic picture of the system. The roots of future maintenance problems are often introduced in change bursts, perhaps by shoehorning a new feature into an existing design, and from there they only grow worse over time. Wouldn’t it be great if you could get an early warning when that happens so that you can take appropriate counter measures and save your code from decay?
The CodeScene tool offers the ability to detect potential maintenance problems and early warnings in your codebase. The earlier you react to those findings, the better, so let’s look at a few examples.
The following figure shows an example on three different warnings auto-detected by CodeScene in Google’s TensorFlow codebase. TensorFlow is a library for machine learning, and the warnings are highlighted using yellow tiles:
These early warnings point your attention to different aspects of the system:
The advantage of social code analyses – like these early warnings – is that they take your context into account. This is important because different organizations have different quality goals; In some codebases large, monolithic files are the norm, while others prefer a more modular design with small and cohesive units.
CodeScene solves that by making the warnings relative to the rest of your code, which means that false positives are kept at a minimum and the presented results are directly relevant in your context.
Finally, there’s the option of integrating the early warning detection into your continuous integration pipeline as demonstrated here.
CodeScene is free for open source, so give it a try at codescene.io.