CLEVR Blog

Application Code review (ACR) Definition | CLEVR

Written by CLEVR | Oct 8, 2020 8:54:32 AM

Hi there, mate! Welcome on board of my ship. I’m taking you on a treasure hunt. Sounds cool, aye? Before we can enjoy all the riches, we have to go through three parts before we arrive at our destination. The first part – which we are about to start right now - deals with recognizing that you, a Mendix developer, are the captain of your own ship. Of course, you need a first mate. Here introduces ACR itself. In the second part of the quest we conquer rough seas, like security, reliability, performance, architecture, maintainability, and project hygiene. We can’t finish a treasure hunt without overcoming obstacles. In part three you better be prepared because their level differs from minor towards blocking. Are you up for the task?

Become the captain of your ship

As junior (Mendix) developer my thoughts were all over the place as I had yet to learn some best practices or to split a task into smaller pieces. I learned from just trying and often failing. Consequently, my work became messy and as the project was organically growing, I tended to forget what I’d done before. Old code that didn’t do anything anymore stayed in my project, I became sloppy with naming conventions and my microflows looked more like a pieces of art than logic made visible. Even though I learned to develop with JavaScript and Java, I quickly realized that Mendix isn’t all that different.

Mendix is a powerful platform and it takes a lot of work out of my hands, but without someone standing at the helm the project goes nowhere. It needs a captain of the ship. It’s up to the developer and their team to design its architecture, to set up security properly, to keep performance in mind, ensure reliability, and doing their colleagues (and future self) a huge favor by creating an application that’s maintainable, clean and understandable in the long run. But even awesome captains are humans and as humans we make mistakes. Therefore, another developer needs to check our work, or in other words: to do a peer review. However, as our project is growing and more entities, microflows, Xpaths, users, etcetera are coming into existence, the more difficult it will be to check on everything that has been done or simply to remember to check on all the best practices throughout the whole application.  

Peer reviewing

Imagine, one of your colleagues asks you to do a peer review. You are confident! Yes, there might be many best practices, but when you prepped your team about quality, rules, and techniques to go by, you said: “Did everyone see that? Because I will not be doing it again” making sure that you wouldn’t have to do the same job twice. If by any chance you’ve managed to review all the code whilst wiping the last pearls of sweat from your forehead and patting yourself on the back for your good work, you hear that another colleague committed a big piece of work with Captain Barbossa’s attitude that best practices are more what you’d call guidelines than actual rules.

Meet your first mate: ACR

Wouldn’t it be great if you’d have a first mate that will take the effort of constantly reviewing other people’s work from your shoulders, so you can go back to sailing your ship? This is where ACR comes into the picture. The ACR - Application Code Review - tool is made to simplify the code review process for low-code apps built using Mendix by automating as much of the peer review process whenever and wherever possible. It scans within seconds a Mendix project and detects bugs, performance issues, security vulnerabilities, and more. ACR does this by comparing a Mendix project against a database of development rules based on Mendix best practices and community guidelines.Based on our research of Mendix’ documentation we deducted at least 88 best practices about security and development, and we found 76 best practices concerning (amongst other) community guidelines, and UX design.

Best of all, ACR is available directly on the commit, which means a developer can immediately check the code they wrote themselves long before a potential issue is discovered by one of their peers.

Currently, we have at least 156 rules (and counting!) in our database, which are grouped in categories and/or severity. 

Next part of the journey

Congratulations! You just became a pirate captain with an awesome first mate. You are ready to sail out of the harbor. Let’s go.