The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
Stage | Create |
Maturity | Complete |
Content Last Reviewed | 2024-09-09 |
Thanks for visiting this direction page on Code Review in GitLab. This page belongs to the Code Review group of the Create stage and is maintained by Kai Armstrong (E-Mail).
This direction is constantly evolving and everyone can contribute:
Code Review is an essential activity of software development. It ensures that contributions to a project maintain and improve code quality and security, and is an avenue of mentorship and feedback for engineers. It can also be one of the most time consuming activities in the software development process.
GitLab's guiding principle for Code Review is: Reviewing code is an activity that ultimately improves the resulting product, by improving the quality of the code while optimizing for the speed at which that code is delivered.
The Code Review process begins with authors proposing changes to an existing project via a change proposal. Once they've proposed the changes they need to request feedback from peers (Developers, Designers, Security and Operations Teams, Product Managers, etc) and then respond to that feedback. Ultimately, a merge request needs to be approved and then merged for the Code Review process to be completed for a given changeset.
GitLab's vision for code review is a place where:
In GitLab, Code Review takes place in the merge request. GitLab should make these tasks efficient and easy, so that velocity and code quality and security both increase while allowing for future iterations.
The code review process involves at least two roles (author, and reviewer) but may involve many people, who work together to achieve code quality standards and mentor the author. Furthermore, many reviewers are often not Developers. Reviewers may be Developers, Product Designers, Product Managers, Technical Writers, Security Engineers and more.
In support of GitLab's vision for code review, areas of interest and improvement can be organized by the following themes:
Feature Enhancements
In Progress: Action focused merge request homepage
Identifying the merge requests that need your attention or who a merge request is waiting on is critical for maintaining development velocity. We're working on a new merge request homepage which identifies the merge requests you're involved in and the states of those merge requests.
In Progress: Enhanced merge request reviewer assignment
Selecting the right reviewer for your merge request is important for ensuring you get a quality review and that it helps to progress the merge request. Enhanced reviewer assignements is our next iteration of applying intelligence in reviewer assignement. We're currently focused on identifying reviewers who satisfy approval rules and will build on this moving forward.
In Progress: Improved DevSecOps experience in merge requests
GitLab's security and merge request policy features are critical aspects of the merge request experience. We're working to elevate report data by introducing their own tab within merge requests. We're also extending policies into the merge checks framework to create a smoother experience when merge requests are first created.
AI Assisted Integrations & Explorations
As GitLab continues to expand it's reach and capabilities with the latest technology around language models and AI assisted workflows we're looking to enhance the merge request workflow with these capabilities.
In Progress: Duo Code Review
GitLab is extending our Duo AI capabilities to provide a complete merge request review. This allows us to leverage Duo to improve cycle time with automated code reviews.
In Progress: Maturing Code Review Duo AI Features
Several of the Duo AI features in merge requests are being matured to make them more robust and reliable. This includes our merge request summaries and then also our review summaries features.
Performance & Reliability Improvements
In Progress: Reusable Rapid Diffs Architecture
Diffs are at the center of the merge request within GitLab. We're working on a new architecture for diffs that improves performance and allows us to build more features on top of them.
In Progress: Support for Cells 1.0
Code Review has a number of tables that can grow in size and resource usage as teams continue usage of merge requests. We're looking to optimize these tables to improve performance and reliability of GitLab instances to support the Cells initiative.
Research & Design Efforts
In Progress: Increase efficiency of reviewing and understanding comments from other reviewers
Being able to understand the state of the review and the feedback that's been provided as part of a reivew is an important part of progressing a merge request. We're examining options to improve entering threads and reviews as well as displaying review progress.
In Progress: Minimize the time it takes me to understand the context of a merge request
Understanding the overall context of a merge request makes it easier to know what the next steps are and what actions need to be taken. We're looking at areas to improve the overview tab and consildate primary actions to make these tasks faster.
We're currently refining the enhanced merge request reviewer assignments based on feedback from users piloting the experience.
We're in the process of piloting the new merge request homepage with an internal group of users. We'll be looking to expand testing of this as we make refinements from user feedback.
We're working on delivering the improvements for security in merge requests. We're focused on new policy merge checks and introducing a new reports
tab for security information in the merge request.
AI Assisted Integrations & Explorations
We're working on developing Duo Code Review to enhance the merge request review experience with AI. The focus here is to provide concise reviews that allow merge request participants to accelerate their development velocity.
Other important issues recently delivered by the group can be seen in this list.
GitLab competes with both dedicated and integrated code review tools. Because merge requests (which is the code review interface), and more specifically the merge widget, is the single source of truth about a code change and a critical control point in the GitLab workflow, it is important that merge requests and code review in GitLab is excellent. Our primary source of competition and comparison is to dedicated code review tools. See the best in class analysis for an overview. For a closer look at the user experience and feature set of competitor tools see these details. (Both links are internal only).
This category is currently at the Loveable maturity level (see our definitions of maturity levels.
Code review is used by software engineers and individual contributors of all kinds. Depending on their context, however, the workflow and experience of code review can vary significantly.
We primarily focus research efforts around Sasha (Software Developer).