Mind Your Code Quality; It's an Asset
Don't wait for SME to review the code and provide feedback. Leverage available tools and do it yourself.
Join the DZone community and get the full member experience.Join For Free
When comes to code quality, I have seen discussion rather than an argument that the main task of a developer is to deliver working code to the customer.
Is it true? I don’t think so. It must be fully covered code; that means not only functionality-focused code, but the quality of code also matters.
A quality gate is another challenge if it comes as a roadblock for milestones, but it’s there as part of the embedded pipeline to ensure, developers are not producing bad quality code. Sometimes, idealistic concepts such as code quality should not be a problem to the primary goal of programs. In normal practice, code quality checks come in code review or later stage but pointing issue so late ends up in a lot of pushback from developers. There are some circumstances the delivery owner decides to stay with such a bad code due to implementation time.
Gotcha!!! It is the pitfall. Fixing issues are too expensive at a later stage than earlier.
To avoid such a scenario, there are enterprise-level code scanning tools are available; SonarQube is one of the most popular, but having its own limitations in covering a wide range of tools.
Mulesoft is one of leading hybrid integration suite covers APIM to integration. There are multiple artifacts and every artifact has its own defined recommended standards. These rules can vary from team to team or enterprise to enterprise. There is a very limited option of tools that can be helpful to defined code quality automation and will cover RAML, JSON, and XML-based configuration files.
IZ Analyzer is one of the enhanced sonar-based tools to cover Mule projects. It is available to cover from the developer box to the CI/CD pipeline. Let developers get this plugin attached to Anypoint studio and configure it with rule bank. All set to do right in first place with a defined coding standard. Analyzer will show error and its categories in-studio itself, so it can be correct in the early stage.
Since its same rule bank attached to pipeline and associate quality gates. It will not create any hiccups in a later stage.
Let’s explore a bit on 'How to use this tool' and help you to give an initial walkthrough. You can explore yourself in detail and connect product company for further details and demo.
- Authenticate using Access Token (You can get it from your Analyzer Org).
Run Explore to See Project Health
Here is one sample, yours might be different. (Fix prompt, the list will shrink.)
Your Negligence in Code Quality Will Cost You More in A Later Stage
if you don’t care for code quality you will end up with spaghetti code, cyclic dependency, having code smell, and other different concerns are so much intertwined that nobody can ever separate them again.
Substandard or bad code gets complicated and being used and further evolved and get updated to add further features, many developers will try to work on it and most add their own workaround to balance previous problems, and each of them will struggle with those problems. This will be coming as a bigger problem with enhancing the codebase.
There are multiple tools available to help developers to manage their own code as normal practice. Just think about it.
Happy Reading and Best of luck with your quality code!
Opinions expressed by DZone contributors are their own.