A couple weeks ago I opened yet another pull request to our backend codebase. It was about better cross-checks around certain functionality and required some refactoring in order to make the code easier to test. As usual, while refactoring code you’ll likely change some function signatures either by renaming them or changing their arguments. Then you have to make sure that all the calling code will reflect the change too.
Modern IDEs come with great refactoring support but they are not perfect. Sometimes a rename is not complete. In this case, one place, which accidentally was also not covered by our unit tests, was missing a rename. Luckily we are eating our own dog food and so Softagram hit in and gave me an impact report after opening the pull request. It clearly showed me that something was missing. One of the files imported a function that didn’t exist anymore in the codebase. Immediately I noticed an incomplete refactoring. I fixed it, updated the pull request and in the next report everything was in order. Without Softagram analysis, this bug could have gone unnoticed until crashing in production.
Example pull request visualization for React pull request.
Example “impact” visualization for pull request, showing files impacted over rest-api by the changed files.
Automated pull request visualization
Softagram impact reports visualizes your pull request changes. It will instantly show you something you just cannot see from the diff alone: which files and modules will be impacted by each change. An experienced developer might know it from the tacit knowledge she or he has built while developing the code for a long time. But the more complex the codebase gets and the more people are working on it, the more difficult it is to maintain and understand the big picture.
You’ll be far better off by letting an intelligent assistant handle that for you. Then anyone in your team can do useful reviews and gain a lot better understanding of the whole software. Try it out for free in our cloud today and let us know what do you think.