Architecture

Code Quality

This page outlines our shared practices, tools, and automated checks that contribute to long-term quality across mobile, web, and backend products.

"Code quality"

Maintaining high code quality is essential for delivering reliable and maintainable software at scale. In QA, we focus on enforcing consistency, preventing breaking changes that cause regressions, and ensuring that new code integrates seamlessly into existing systems — all while keeping development velocity high.

What Does Code Quality Mean?

Each project should agree on the definition of high-quality code, focusing mainly on to be:

  • Readable - Clear structure, naming, and formatting
  • Consistent - Follows team and platform-wide standards
  • Reliable - Correctly handles expected and edge-case scenarios
  • Testable - Covered by unit and integration tests
  • Maintainable - Easy to change or extend in the future

These should be part of every code change checklist to meet the expected quality standards.

Tools We Use to Ensure Code Quality

Linters Static code analyzers that catch issues before runtime. We configure project-wide rules per language and platform.

Benefits:

  • Prevent low-level bugs
  • Standardize style
  • Reduce noise in code reviews

Static Analysis Tools

We integrate automated quality gates into CI/CD pipelines, such as:

  • SonarQube: Measures code complexity, duplication, coverage, and security hotspots
  • Flutter Analyze / Dart Analyzer: Built-in checks for Flutter projects
  • Azure DevOps Pipelines: Run analyzers and report violations as part of pull requests

Pipelines are configured to fail the deployment of new builds if violations exceed the acceptable threshold.

Git Hooks

We enforce rules at commit and push time to prevent low-quality code from entering the repo, such as:

  • pre-commit: Run linters or analyzers
  • pre-push: Execute unit test or static checks

These hooks are preconfigured in most projects using Eli CLI or Melos.

Developer + QA Collaboration

In addition to automated code reviews, it's best practice to perform a risk analysis for regressions with QA. This helps create a clear test plan or validation note to ensure the change itself and surrounding areas do not introduce any regression bugs.

Conclusion

By combining pull request static analysis, automated gates, and consistent QA involvement, we create a high-trust and predictable environment for our clients. This allows delivery teams of developers and QA to move fast and release confidently. Quality isn’t just checked — it’s built into the codebase.


Copyright © 2025. All rights reserved.