by Rendi Akhmad, Evangelist at Mitrais

High Quality Code at Mitrais

One important step in producing high quality code is the Code Review process. This is usually conducted by a Senior member of the development team. However, often the Senior developer can become a bottleneck in the process. To avoid this reading time should be minimized, since a lot more time is spent reading code than writing, even though writing code might become slower. 

Different parts of the code should be subject to different quality standards. Various lines of code have different lifespans, scope, risks of breaking, damage costs, etc. On the whole, they have very different effects on long-term iteration speed, and it is not optimal to enforce a uniform quality standard. Through automation, better tools, better processes and better developer education, the code quality overhead can be reduced.

Guidelines

Even if, locally, something is written sub-optimally, it is crucial to have consistency across the whole codebase. Having an inconsistency within the codebase makes it harder to read and understand, write and improve using automated tools. To ensure all those principles are consistent across all projects, Mitrais has created coding standards based on current best practices in software engineering. Currently, we have defined Java, C#, VB.NET & Javascript code standards. These are based on Mitrais’ defined standard such as the Mitrais Architecture Guidelines, Performance Guidelines, Security Guidelines, and Deployment Guidelines. All code changes in our codebase are peer reviewed. Reading code is an important part of code reviews, which helps improve the code readability. 

Post-Commit Reviews
Mitrais is also capable of doing post-commit reviews because we put our trust in every single developer, since we only hire the best and invest a lot in their code quality education/tools. In the post-commit review, Mitrais uses several review tools, depending on projects and platforms. However, the commonly used tools to perform reviews are code comparison tools such as git diff tools,  and tools integrated with Visual Studio.  After the review process is finished, the reviewer sends feedback to the developer to make any necessary changes. 
Test Coverage & MUIT
Since we write lots of unit, functional and UI tests with high coverage, it is essential to perform testing as part of our development workflow. Developers go through a comprehensive test coverage which will enable them to move fast in parallel without having to worry about breaking existing functionality. Mitrais has created an automated test runner called MUIT. It is based on the gerkin format (BDD style), so it can be used by testers that don’t have coding skills. MUIT is run on selenium and can be enhanced to support another framework.

Continuous Delivery
Finally, at Mitrais we use a continuous delivery system which is built on Jenkins. We develop a build pipeline script which runs automated code review tools, such as visual studio code analysis, jshint, tslin, sonarqube to perform automated code analysis. After the automated code review has finished, we run automated test tools using MUIT or directly run Selenium and Appium Unit Test Script. Following the automated processes, the code will be approved and deployed into Production.