How do pull requests fit into a development process?

In my software engineering career I have never worked with pull requests. Probably because I only ever worked in relatively small teams (5-16 people) and only on projects that were structured well enough and had a small enough code base, which made it quite easy to keep track of all the changes other developers are making to it. While in those teams we’ve never used pull requests as a version control feature, we still had a process in place that required developers to first submit their feature branch to other developers for code review before it could be published. These feature branches when submitted for code review were “merge ready”. That means that as soon as the person reviewing the code gave the green light, the branch could (and should) be published to master without any further changes to it. As you can already probably imagine, there was quite a lot of code to review for each branch. Depending on whether it was a branch for a bug fix or a full feature, amount of code that needed to be reviewed varied between as little as couple of lines and as many as 3-5k lines or even more.

While I do understand the concept of pull requests and what problems they are meant to solve, I am having hard time figuring out how pull requests can be incorporated into a software development process without it being too disruptive or a waste of time.

I always read on the internet how developers are complaining about their colleagues asking them to review enormous pull requests and how you as pull request submitter should always make sure that your pull request is easy to review.

I was thinking that one could create multiple pull requests during the development of a big feature. That would mean tho that you are pushing code into production that does not currently serve any real purpose and is very likely subject to change before the feature is completely implemented. Or you could submit a pull request without actually merging the current state of the branch into production. Kind of like a request to your colleagues “Hey, I’m developing this thing here. Can you check if I’m on the right track?” and only after the final pull requests the branch gets merged. But in that case it would mean that you are possibly wasting your colleague’s time by letting them review code that has a very high chance to be changed before the feature is completely implemented and “publish ready”. Another option would be to break down the feature into many smaller features. This would require quite a lot of planning to work and also has the negative side effect that you are publishing code that you will only need in the future, if at all.

How do those of you who have pull requests as part of their development process use them and how can one incorporate them into their development process without it disrupting people’s work or wasting time?

A pull request is the same as having a code review when code is “merge ready”. Whenever you have a code review and merge, replace that with a pull request and you have successfully fit a pull request into your development process.

As far as sizing goes, I would say that a code review or a pull request of 3-5k lines or more is much too large. Smaller changes are much easier to review and understand and can be accomplished by appropriately slicing the definition of work and including small numbers (ideally one) change per pull request. If you’re using git, rebasing and editing your history with good commit summaries and messages can make it much easier to observe the series of changes and understand it step by step.

If your change is large, interim or work-in-progress pull requests can be helpful to get early and continuous feedback from the other developers. Having environments to put the running code can also be useful for feedback from product managers, user experience designers, and manual testers.

I’ve also found it helpful to have have automated tests and ensure that including tests and requiring a passing test suite is helpful before starting the review. Running static analysis, including style/formatting, and making sure that findings are addressed can also help make sure that people are reviewing good code.

2

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật