My Frustrations With Pull Requests
I am going to argue that pull requests are the most important part of the development life-cycle. It is the only chance I get to see and comment on the code my fellow developers are writing. It is when design decisions are finalized, edge cases are discovered and code quality is enforced by you and your teammates. But, as vital as pull requests are for keeping a team's code solid, I often found myself frustrated by how limiting the tools are.
A few examples include:
- Only the immediate lines surrounding code changes are provided which is often not enough context
- Comments break up the lines of code making changes very difficult to read
- Files are displayed as a giant list which makes it hard to find the one I am looking for
- I have to reload the page in order to load updates to the review
- In general the UI is messy and confusing
I have heard my teammates complain that they "dont trust code reviews because they are not able to see the whole picture.” But, I have always felt that this wouldn’t be a problem with a good user interface.
My brother and I took it upon ourselves to tackle this problem. Being developers ourselves, we knew the pain points and we set out to create a tool that we would be excited to use every day. We focused on providing the most amount of context surrounding code changes with a UI that resembled an IDE.
One year later, we are proud to present to you our solution: Mergefly.
Comments
Comments are completely revamped. On GitHub, comments are built into the location of the code. This interrupts the flow of reading code because once you have multiple comments, the code is completely broken up. The comments themselves are also not searchable making it difficult for me to find specific comments I had already left.
We fixed this by pulling the comments out of the code itself. You can now view comments in a modal you can drag around or on the side of the page. You can also jump directly to the code based off of a comment to review pull requests faster.
Highlights
- View comments either in an adjustable modal or off to the side
- Jump directly to specific code locations from a comment
- Comments are updated live
Navigation
Navigation is seamless. Many times I found myself searching GitHub longer than I had to in order to accomplish simple tasks. This included searching for files, leaving reviews, opening repositories, filtering pull requests, and even merging. It was also frustrating to me how easily I could lose my place when I would update the page and GitHub automatically scrolled to the top.
We designed Mergefly with all of these problems in mind. We can have multiple tabs on a single page so that you can switch between multiple reviews without losing your place. We have a file tree so you can see the hierarchy much more clearly. Lastly, pages auto update so you never have to refresh when changes occur in your repository.
Highlights
- Get to any repository or Pull Request without a page reload
- Switch between files, repositories, and Pull Requests instantly on the same page with multiple tabs
- Send your URL to a friend and they will open up to the same file and line you were looking at
Reviews
We gave reviews more meaning. I felt that GitHub reviews were under utilized and a little out of place. They have this odd status of a comment but you can’t reply to them so they get lost in the conversation feed. As a result I never understood the proper way to use them.
We decided to turn reviews into a chat like system. This creates better notifications and more context for members looking at a pull requests. It also creates a location to discuss pull requests as a whole instead of specific lines of code.
Highlights
- Reviews are kept in one place instead of scattered over the conversation history
- Reviews are faster and behave almost like a messaging app
More Features
This is really only scratching the surface. If you want to get a full picture of what Mergefly can do, check out all of our awesome features here!
Free to the Open Source Community
We made Mergefly to give developers more confidence when merging code. We want to reduce bugs and make the development life-cycle smoother for everyone.
Check us out at mergefly.com!
Top comments (0)