Telerik blogs

Take these simple steps to create great pull requests, particularly when working with large teams with multiple developers.

In modern software development, version control systems are essential tools for collaboration and code management. Today, Git is the most widely used version control system and it enables developers to track changes, manage different versions of their code, and seamlessly collaborate with teammates.

Pull Requests (PRs) are a crucial aspect of the modern development workflow and are a mechanism for submitting code changes to a shared repository. It serves as a formal request to review and discuss the proposed changes before they are merged into the main codebase. In this article, we’ll explore some simple steps that you can take to create great pull requests, particularly when working with large teams with multiple developers.

Great Pull Requests?

In a large team setting, effective pull requests play a vital role in ensuring code quality, facilitating collaboration and maintaining a structured workflow. With numerous developers working on different parts of the codebase simultaneously, well-constructed pull requests provide a clear and standardized process for code review, help minimize conflicts between other changes being made and promote knowledge sharing among team members.

When a developer works solely on one’s project, the need to create well-done pull requests matters much less. However, even in such cases, cultivating good practices around pull requests can still yield benefits in terms of maintaining code clarity, enabling easier debugging and preparing for potential future collaboration. Adopting good pull request principles early on can lay the foundation for efficient teamwork and code management as projects evolve and team sizes grow.

Here are some simple steps you can take to write well-done pull requests.

Keep Code Changes Isolated to Specific Tasks

When creating a pull request, it is crucial to keep the code changes focused on a specific task since it enhances code organization, simplifies the review process and improves the overall maintainability of the codebase. Whether it’s introducing a new feature, solving a bug or performing code cleanup, isolating changes to a particular scope helps ensure that each pull request has a clear purpose and can be independently assessed and merged.

Writing a Clear Pull Request Description

Including clear and descriptive information in your pull request provides crucial context and guidance to reviewers. A comprehensive pull request description should contain information such as the motivation behind the change, the approach taken to implement it, considerations to keep in mind, open questions or thoughts for discussion, and testing steps (when applicable).

Pull request description screen includes what, why, how, testing steps

By writing clear and descriptive documentation in a pull request, reviewers are empowered to understand the intent of the changes, evaluate the implementation against the requirements, and provide valuable feedback. A well-written pull request promotes effective collaboration and ensures that everyone involved is on the same page.

Providing Testing Steps for Reviewers

Testing is an integral part of the development process and is especially important during the pull request stage. In a pull request, it’s often helpful to explicitly mention the steps that reviewers can follow to test the changes. This enables early identification of issues, allows for prompt bug fixing, and ensures that the code meets the expected quality standards before the code is merged into the codebase and deployed to production.

Depending on the project’s setup, it might be necessary to incorporate continuous integration (CI) mechanisms to deploy code changes from pull requests to specific test environments. This is particularly valuable for UI/frontend engineering changes, where visual feedback is often essential for a comprehensive review.

Adding Inline Comments Where Helpful

To direct the reviewers’ attention to specific areas of your code, consider adding inline comments where clarification or discussion is required. Comments can help highlight potential concerns, explain the rationale behind certain decisions or request specific feedback.

Pull request inline comment say: I'm using the block element modifier BEM naming convention for better maintainability and modularity. Do let me know if there are different guidelines on how we should name our custom CSS classes

Inviting collaboration through comments helps foster a healthy review process that encourages active participation and constructive discussions among team members. Remember, pull requests are a collaborative effort aimed at improving the codebase collectively!

Include Multiple Reviewers

Involving multiple reviewers in your pull request can enhance the quality of the feedback received and sometimes expedite the review process. By seeking input from multiple perspectives, we can benefit from diverse insights and ensure a more comprehensive assessment of the code changes being made.

There is no ideal number of reviewers and this can depend on factors such as the size and complexity of the code changes, availability of reviewers, team guidelines, etc. I have personally found two reviewers per pull request to be a good amount to balance between getting a thorough review process while keeping the pull request’s lifecycle reasonable.

Wrap-up

In conclusion, creating great pull requests is essential for promoting code quality, collaboration and maintaining a structured workflow, especially in large team settings.

By following simple steps such as keeping code changes isolated to specific tasks, writing clear and descriptive information, providing testing steps and involving multiple reviewers, developers can enhance the effectiveness and efficiency of the pull request process.

On the flip side, conducting effective pull request reviews (i.e., being a good pull request reviewer) is as equally important to ensuring code quality, promoting collaboration and maintaining a healthy development process. In a follow-up article, we’ll explore useful steps that can be taken to conduct pull request reviews well.


About the Author

Hassan Djirdeh

Hassan is currently a senior frontend engineer at Doordash. Prior to Doordash, Hassan worked at Instacart and Shopify, where he helped build large production applications at-scale. Hassan is also a published author and course instructor and has helped thousands of students learn in-depth fronted engineering tools like React, Vue, TypeScript and GraphQL. Hassan’s non-work interests range widely and, when not in front of a computer screen, you can find him at the gym, going for walks or running through the six.

Related Posts

Comments

Comments are disabled in preview mode.