Devbridge is officially transitioning to the Cognizant brand at the end of 2023. Come visit us at our new home as part of the Cognizant Software Engineering team.

Code readability is paramount

Code is written once, but read and edited repeatedly. Our code quality standards are enforced through a combination of behaviors and tools.

Set the standard for code quality.

A common misstep taken by engineers is opting to define code standards from scratch instead of adopting or retrofitting existing materials to the code for development. Save time, money, and energy by using a style similar to the code needed for production and implementing automation for immediate feedback.

Icon - 1

Introduce coding standards to remove friction and eliminate time spent on trivial problems.

Icon - 2

Don't just document coding standards, automate them.

Icon - 3

Static code checking minimizes coding errors by providing immediate feedback through CI/CD.

High-quality code deployed faster.

Poor code quality puts products at risk. Set code quality standards (e.g., code reviews, styling) to monitor risk factors and correct errors when necessary.

icon Transparency

Go beyond documentation to enact rules and automation for quality

Coding standards are of little use when they only exist as a document on your intranet. Transform the standard into a set of rules, adjust for a particular IDE or style checker that you prefer, and provide access to the whole engineering team.

icon Ecosystem or model

Use automated quality gates to prevent deployment of non-conforming code

Prevent non-conforming code from being deployed or pushed to the code repository. Git hooks make it easy to block code commit or automatically fix it via linter, just before code is committed to git. Quality gates on CI/CD pipelines will prevent code from being packaged and deployed if it does not pass static analysis checks.

icon Process cycle build measure learn

Unify coding standards and embrace an iterative process

Once implemented, the approach starts to pay off immediately. Teams agree on unify coding standards. Frequent code reformatting due to different IDE settings is eliminated. Tedious code styling checks are automated. Quality gates prevent non-conforming code from being packaged and deployed. To iterate even further, confirm the correct branching strategy is in place and if the code review process, organized via pull requests, is efficient.

Enforcing code quality standards with tooling

We help product teams adopt code quality standards and employ tools that enforce best practices and standards throughout the teams and codebase. Save time and help teams adopt the best practices by putting tools to work.

Bulk styling with formatters and linters to enforce consistent standards efficiently.

With interpreted coding languages like JavaScript and Python are gaining popularity in front-end, back-end, and data processing development. The first set of tooling worth adopting are formatters (e.g., Prettier) and linters (e.g., ESLint, Flake8).

Formatters and linters will correct code styling issues on selected pieces of code a particular engineer is working on. With these tools in place, teams can run a scan with a selected linter on the whole codebase. Then, identify and auto-fix all indentation, quoting, and styling recommendations, then commit all of these as a single changeset.

Continuous improvement with static code analysis.

Static code analysis (SCA) tools are used for continuous inspection of code quality. These tools detect potential defects, code smells, and even security vulnerabilities.

We use SonarQube for static code analysis which:

  • provides fully automated analysis and integration with Maven, Ant, Gradle, MSBuild, and continuous integration tools, such as Atlassian Bamboo, Jenkins, or Hudson.

  • supports Java (including Android), C#, JavaScript, TypeScript, C/C++, CSS, HTML, XML, etc;

  • and offers an up-to-date overview of the current situation and historical dynamics when combined with continuous integration tools.

PMD, a cross-language static code analyzer, is also often used on Java projects.

The Secret Source

Chapter 10: Delivery methodology

The Secret Source is a resource for our clients and employees to help build mission-critical applications faster.

This book offers a transparent look at the full product lifecycle at Devbridge. It details our methodology, tools, and best practices that enable our teams to ship product faster.

Read the book
SS-book-cover for white paper block