<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=1195114&amp;fmt=gif">

Yo Ho, Yo Ho! A bug-free life for me with ACR (Part 1)

Esther Vis
Esther Vis

Mendix SMART Digital Factory Mendix Quality

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?

Yo Ho, Yo Ho! A bug-free life for me with ACR

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 ourwork, 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.

Yo Ho, Yo Ho! A bug-free life for me with ACR

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.


Esther Vis

Esther Vis

Esther is one of the developers of the SMART Digital Factory Tooling set. She believes that one of the best ways to learn and to ensure the quality of your work is to review its content. Because of that, her primary focus is the Application Code Reviewer (ACR). Not only is she involved in maintaining and improving this tool, but she also writes new rules that empower Mendix Developers to build high-quality applications even faster. With a background in history and gender studies, she has an eye for the person behind the technology and she makes sure everyone is included.

Related posts

Cloud architecture patterns

How to offload work from Mendix to Azure? As someone who has been working with Mendix for several years I am acutely aware of the limitations of the ...

Read More

Best practices for writing custom actions in Mendix

Since actions are the main way of using many app store modules, it is worth investing some time and thought in designing good actions. Here are ...

Read More

Best practice for adding a java dependency to Mendix

My journey with Mendix started more than four years ago. Due to the nature of my Mendix projects many times I had to use third-party java libraries ...

Read More