<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>code review Archives | DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/tag/code-review/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Thu, 03 Sep 2026 21:17:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://static.dmcinfo.com/wp-content/uploads/2025/04/site-icon-150x150.png</url>
	<title>code review Archives | DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Code Review Procedures</title>
		<link>https://static.dmcinfo.com/blog/16465/code-review-procedures/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 10:34:27 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[text-based code review]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/16465/code-review-procedures/</guid>

					<description><![CDATA[<p>In my&#160;previous blog Code Review Best Practices, we looked at DMC&#8217;s general code review practices. These are important ideas to keep in mind, but&#160;even in doing so,&#160;code review can be a daunting task. DMC reviewers use the following process consisting of multiple reviews back and forth with the developer&#160;when reviewing a Merge Request (MR, in [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/16465/code-review-procedures/">Code Review Procedures</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In my&nbsp;previous blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10569/code-review-best-practices">Code Review Best Practices</a>, we looked at DMC&#8217;s general code review practices. These are important ideas to keep in mind, but&nbsp;even in doing so,&nbsp;code review can be a daunting task. DMC reviewers use the following process consisting of multiple reviews back and forth with the developer&nbsp;when reviewing a Merge Request (MR, in GitLab terminology) to make sure we stay efficient without missing anything.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/gitlab-logo-300.png" alt="GitLab Logo"/></figure>



<h2 id="h-orientation-clarify-basics" class="wp-block-heading">Orientation: Clarify Basics</h2>



<ol class="wp-block-list">
<li>Ensure MR metadata is appropriately defined based on project convention (assignee, milestone, labels, etc.). If the project uses an MR template, make sure it’s filled out appropriately.</li>



<li>Understand the issue the MR is solving by reading or reviewing any linked work items. If the MR fully addresses the work items, make sure they’re closed by the MR merging (as appropriate for project workflow).</li>



<li>Confirm code passes any automatic checks defined in CI (build, automatic tests, formatting, etc.).</li>



<li>If code isn’t fully covered by automatic testing, clearly identify the testing approach and who performed it. If code is easy to test, test it yourself!</li>



<li>Read the MR&#8217;s description to understand the high-level approach to the issue (if no description, ask reviewee to populate).</li>



<li>Confirm that the source and target branches are appropriate, and that MR sequencing is clearly defined or not needed (branch structure in the repository graph may reveal that this MR should merge before or after another one).</li>
</ol>



<h2 id="h-first-review-refine-design" class="wp-block-heading">First Review: Refine Design</h2>



<p class="wp-block-paragraph">Note: this step may not be necessary for small MRs or ones you&#8217;ve been closely involved with already.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/code-review-procedures-reviewing.jpg" alt="First Review: Refine Design"/></figure>



<h5 id="h-glance-it-over" class="wp-block-heading">Glance it over</h5>



<p class="wp-block-paragraph">First, skim the files to understand the high-level scope of the changes.</p>



<ol class="wp-block-list">
<li>Review structural elements (interfaces, header files, dependencies, etc.) to understand the relationship between modules.</li>



<li>If one or more new packages have been added, review to understand the functionality they add, confirm that a package addition is warranted, confirm that the license is appropriate for the project, and confirm that the package chosen is the best choice.</li>



<li>Get a sense of how complex these changes are to assess how long it will take you to fully review.</li>



<li>Consider taking a quick look at minor changes to check them off the list and focus future passes.</li>
</ol>



<h5 id="h-take-a-pass" class="wp-block-heading">Take a pass</h5>



<p class="wp-block-paragraph">Go through the code changes and review them, focusing on items 1-3 (System, Structure, Function) from the list in the previous blog.</p>



<ol class="wp-block-list">
<li>Review the full diff (don&#8217;t look at individual commits unless you&#8217;re answering specific questions).</li>



<li>If your structural review revealed new dependent elements, consider starting your review at the &#8220;bottom&#8221; of the dependency tree (a module without any dependencies, or only existing dependencies) to understand how functionality builds up. This may be challenging unless you’re quite familiar with the existing architecture.</li>
</ol>



<h2 id="h-middle-review-s-check-details" class="wp-block-heading">Middle Review(s): Check Details</h2>



<p class="wp-block-paragraph">This will happen after the developer responds to your comments from the first review, or you can skip directly to this stage on your first review if there are no large comments on the design.</p>



<ol class="wp-block-list">
<li>When the developer pushes the review back to you, first look at the comments included in your previous review to ensure all have been addressed (code changed or additional discussion).</li>



<li>It can be helpful to look at what has changed since the last review by filtering the commit list.</li>



<li>Take a full pass on the code, focusing on items 4-6 (Patterns, Style, Ready) from the list in the previous blog, and send a review.</li>
</ol>



<h2 id="h-final-pass-pre-merge" class="wp-block-heading">Final Pass: Pre-merge</h2>



<ol class="wp-block-list">
<li>Make sure all pipelines are passing.</li>



<li>Make sure code will merge without conflicts.</li>



<li>Once the code looks good to you, Approve it! This means you’re happy with it (depending on the project, you might merge it or have the developer merge).</li>
</ol>



<p class="wp-block-paragraph">That wraps up our guidance for code reviews —&nbsp;we hope this is helpful in reviewing your next request.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Make Every Code Review Count</strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Check out our <a href="https://static.dmcinfo.com/services/application-development/" data-type="page" data-id="434">Application Development</a> capabilities for structured merge request reviews, efficient developer collaboration, and dependable pre-merge validation.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/16465/code-review-procedures/">Code Review Procedures</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Code Review Best Practices</title>
		<link>https://static.dmcinfo.com/blog/16575/code-review-best-practices/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Tue, 20 Feb 2024 10:18:51 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[text-based code review]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/16575/code-review-best-practices/</guid>

					<description><![CDATA[<p>Reviewing code is a key part of DMC&#8217;s development process. It gives us a key quality check before we integrate code updates, allowing us to catch many errors and ensure we&#8217;re creating maintainable code.&#160;In doing so, it also acts as a mechanism for senior developers to spread their knowledge to the rest of the team. [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/16575/code-review-best-practices/">Code Review Best Practices</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Reviewing code is a key part of DMC&#8217;s development process. It gives us a key quality check before we integrate code updates, allowing us to catch many errors and ensure we&#8217;re creating maintainable code.&nbsp;In doing so, it also acts as a mechanism for senior developers to spread their knowledge to the rest of the team.</p>



<p class="wp-block-paragraph">In this blog, we focus on general best practices for text-based code reviews. DMC also uses a number of graphical programming languages, which have unique challenges in the code review process —&nbsp;some of these ideas apply, but not all. In a follow-up blog, we&#8217;ll look more closely at some specific procedures DMC follows.</p>



<p class="wp-block-paragraph">Code review is always a little bit different from project to project, but our experienced code reviewers have collected a set of practices that improve the efficiency and efficacy of our process. Whether you&#8217;re getting ready to review your first line of code or merge your thousandth request, this blog is for you!</p>



<h2 id="h-focus-on-value" class="wp-block-heading">Focus on Value</h2>



<p class="wp-block-paragraph">While reviewing, stay focused on the value added by the code review process. The remainder of this guide includes lots of specific recommendations, but not all recommendations should be followed on every review. Focus on using the review as an opportunity to confirm functionality and ensure maintainability, not to debate an optimal solution. Make sure that time spent on reviews balances the quality and efficiency expectations of the project —&nbsp;a quick internal tool shouldn&#8217;t be reviewed as carefully as a business-critical data processer.&nbsp;</p>



<h2 id="h-use-your-tools" class="wp-block-heading">Use your Tools</h2>



<p class="wp-block-paragraph">All major source control platforms include features designed to facilitate the code review process, so learning and employing those tools can give you a big boost.&nbsp;DMC uses GitLab as our preferred platform for source control, so the following discussions reference&nbsp;some specific features of GitLab, but most source control platforms have analogous capabilities.&nbsp;We particularly recommend the following features in GitLab:</p>



<figure class="wp-block-image"><img decoding="async" alt="GitLab Logo" height="66px" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/gitlab-logo-300-1.png" width="300px" /></figure>



<ul class="wp-block-list">
<li>Whenever leaving comments, use the <a href="https://docs.gitlab.com/ee/user/project/merge_requests/reviews/" target="_blank">review</a> feature.</li>



<li>Change your settings as needed to facilitate reading <a href="https://docs.gitlab.com/ee/user/project/merge_requests/changes.html" target="_blank">changes</a> easily.</li>



<li><a href="https://docs.gitlab.com/ee/user/project/merge_requests/changes.html#mark-files-as-viewed" target="_blank">Mark files as viewed</a> to avoid duplicate review time.</li>
</ul>



<h2 id="h-prioritize-it" class="wp-block-heading">Prioritize it</h2>



<p class="wp-block-paragraph">Reviewing code early and often is important and worth prioritizing. Delayed code reviews can leave developers waiting or cause them to forget why they made technical decisions. If appropriate, move larger comments and reworks into follow-up issues to merge the primary MR more quickly.&nbsp;</p>



<h2 id="h-timing-matters" class="wp-block-heading">Timing matters</h2>



<p class="wp-block-paragraph">Before spending time reviewing code, determine whether a synchronous or asynchronous review will be more valuable. Asynchronous reviews use GitLab comments to allow reviewers and developers to alternate their focus on the review and are&nbsp;most common at DMC. A synchronous review (where the reviewer and reviewee meet) allows for richer interactions but is sometimes less time efficient. It’s often preferred in situations that include new engineers, complex changes, or engineers where a verbal discussion has low overhead. A hybrid option (an async review with a follow-up meeting) is also common in the case that there are outstanding questions, or the reviewer wants to provide more context. You can do this differently for different review passes (a synchronous first review with async follow-up is common).</p>



<h2 id="h-look-high-and-low" class="wp-block-heading">Look high and low</h2>



<p class="wp-block-paragraph">There&#8217;s a lot to think about when reviewing code! We use the following list to organize our reviews and make sure we don&#8217;t miss anything.</p>



<ol class="wp-block-list">
<li>System: Are any changes to the system design reflected in the code handled appropriately? Examples:
 
 
<ol class="wp-block-list">
<li>Will the design changes have any unintended consequences on other system elements?</li>



<li>Do any of the changes warrant updates to documentation in the repo (like a README) or project-level documentation?</li>
</ol>
</li>



<li>Structure: Does the code have good structure? Examples:
 
 
<ol class="wp-block-list">
<li>Is functionality broken up into understandable modules?</li>



<li>Is code repetition minimized?</li>



<li>Can code intent be clearly understood?</li>



<li>Could the same functionality be achieved with less complexity?</li>
</ol>
</li>



<li>Function: Does the code work correctly? Examples:
 
 
<ol class="wp-block-list">
<li>Will the code behave as expected even in corner cases?</li>



<li>Are errors and alarms handled appropriately?</li>



<li>Will the changes cause any regression in existing functionality?</li>
</ol>
</li>



<li>Patterns: Are project patterns followed well? Examples:
 
 
<ol class="wp-block-list">
<li>Are comments useful (provide information beyond what’s in the code) and clear?</li>



<li>Are log levels appropriate?</li>
</ol>
</li>



<li>Style: Does code follow language style guidelines?</li>



<li>Ready: Is the code ready for the branch it&#8217;s being merged into? Examples:
 
 
<ol class="wp-block-list">
<li>If merging into a main or production branch, is any test code removed?</li>



<li>Are TODOs appropriately captured in follow-up issues?</li>
</ol>
</li>
</ol>



<h2 id="h-talk-about-it" class="wp-block-heading">Talk about it</h2>



<p class="wp-block-paragraph">When you find something while looking for the above items, discuss it with the reviewee. For async reviews, this should take the form of a GitLab comment; for synchronous reviews, make sure that suggested changes are noted (in a comment or elsewhere).</p>



<ul class="wp-block-list">
<li>If what you find violates clear-cut best practices, provide directive feedback to change it (and reference the source). Example: &#8220;Microsoft recommends PascalCase for class names. Please change this variable to match.&#8221;</li>



<li>If you don&#8217;t understand why a piece of code is written the way that it is, ask! You can instead spend time digging in, but, if it’s not clear to you, it could likely be written more clearly regardless. Example: &#8220;Can you talk me through why we need separate methods here?&#8221; Once you understand the code, recommend restructuring, renaming, or adding comments as appropriate to make it easier to understand.</li>



<li>If multiple solutions may be appropriate and worth consideration, enumerate them to start a discussion. Example: &#8220;I see that you structured this as an interface, but an abstract class would also work. Why did you prefer an interface?&#8221;</li>
</ul>



<p class="wp-block-paragraph">That&#8217;s all for our recommended practices! If you&#8217;d like to learn more, check out our companion on the process: <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10583/code-review-procedures">Code Review Procedures</a>.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Turn Code Reviews into Better Software</strong>.</h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Learn more about our <a href="https://static.dmcinfo.com/services/application-development/" data-type="page" data-id="434">Application Development</a> solutions for improving code quality, maintainability, and team collaboration through structured review practices.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/16575/code-review-best-practices/">Code Review Best Practices</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
