This is why code analysis tooling exists and is a profitable market.
Sarcasm aside, there is a difference made between bad code and (regular) refactoring and tech debt in the report. I read bad code as the mistakes a junior might make but any reasonable experienced engineer shouldn't anymore.
Remarkably the tools for static analysis, testing, and refactoring are still pretty rudimentary. Coming from a data/saas background I'm shocked more analytics hasn't been built based on the troves of data available via GitHub and other open source projects.
That being said, most software today is written without the benefit of quality code analysis or regular linting. There's likely a distribution problem to be solved as well.
Truth, but even that is something that you need to let happen, then fix in code reviews, etc. You can't turn a junior developer into an experienced one without letting them code and make mistakes, which then must be fixed (hopefully before getting pushed to production).
Certainly that's true today. I wonder how feasible it would be in the future to leverage deep learning and pattern recognition AI technologies to build a code editor plug-in that would act something like an experienced developer always watching over the junior developer's shoulder and pointing out common mistakes. We have a very limited form of that already in static analysis tools but I feel like it ought to be possible to take the concept much further?
Sarcasm aside, there is a difference made between bad code and (regular) refactoring and tech debt in the report. I read bad code as the mistakes a junior might make but any reasonable experienced engineer shouldn't anymore.