September 12th, 2024

GitHub's Legacy of Terrible Code Review

GitHub's code review system faces criticism for inadequate design and missing features, such as commit message comments and user-defined labels, despite gradual improvements and the platform's significant resources.

Read original articleLink Icon
GitHub's Legacy of Terrible Code Review

GitHub has established itself as a leading code hosting platform, but its code review system has been criticized for being inadequate and poorly designed. Initially, when GitHub launched in 2008, it lacked a formal code review process, and the Pull Request feature that emerged was not thoughtfully developed. While Git's built-in pull requests have been in use since 2005, GitHub's version was seen as inferior, lacking essential features such as structured messaging and the ability to view changes directly on the platform. Over the years, GitHub has gradually added features to its Pull Request system, including inline comments and review options, but many believe it still falls short compared to other systems. As of 2024, several key functionalities are still missing, such as the ability to comment on commit messages, user-defined review labels, and more advanced review tools. Critics argue that despite GitHub's resources, its code review capabilities remain behind the curve, suggesting that the platform could benefit from adopting more innovative features to enhance the review process.

- GitHub's code review system has been criticized for being poorly designed and lacking essential features.

- The Pull Request feature was not initially developed with careful consideration of user needs.

- Key functionalities still missing from GitHub's code review include commit message comments and user-defined review labels.

- Despite gradual improvements, many believe GitHub's code review remains behind other systems.

- Critics suggest that GitHub could leverage its resources to innovate and enhance its review process.

Link Icon 2 comments
By @codeapprove - 5 months
Love the history here! I built a business (CodeApprove) around not liking GitHub's UI for code reviews and I still didn't know most of this.

I will never understand why GitHub has not invested as much in code review as they have in the rest of their platform. For their paying customers it has to be the number one part of their platform in terms of time-on-page.

But one thing they did well was open basically every part of the review experience to GitHub apps via their APIs. So tools like CodeApprove, Reviewable, Graphite, GitContext, etc can build better experiences over the top and give GitHub users more choice.

I still don't know why most programmers just accept the default here. GitHub made an IDE (Atom) but we don't all just use it because they said so. Why do most of us use their code review UI just because it's there?