-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
72 changed files
with
6,976 additions
and
135 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
--- | ||
title: "Increasing PR Velocity" | ||
date: 2024-07-24T09:42:34+02:00 | ||
draft: true | ||
lastmod: | ||
summary: | ||
categories: [writing] | ||
tags: [coding] | ||
ShowToc: false | ||
cover: | ||
image: "images/speed-holes.gif" | ||
alt: "Simpson's Speed Holes Clip" | ||
relative: true | ||
--- | ||
Reviewing pull requests is a pain in the hole, but a necessary one. It is also huge time sync if youβre actually reviewing your teamβs PRs with care. | ||
|
||
## Normal PR Process | ||
The PR process often looks like this. | ||
- Get slack message: βpwetty please review my PR :3 (donβt hate me) [pr link](https://github.com/EpicGames/Signup/pull/24)β | ||
- Open PR in browser, scroll through the code a bit | ||
- Inner Monologue: β*This looks mostly understandable? Can I can get away without pulling this locally?*β | ||
- Decide to **run it locally**: | ||
- Stash current changes (*remember that you have a stash saved!*) | ||
- Pull down PR branch | ||
- Run the code/tests (Hopefully it runs) | ||
- Click through all the changes, going back and forth with the PR on github.com | ||
- See an issue, flip to the web browser, find the line, and post a comment in the PR | ||
- Decide to just **view it in the browser**: | ||
- Attempt to read the code | ||
- *Optional*: Try to βunderstandβ the logic, but often youβre just [NITing](https://stackoverflow.com/questions/27810522/what-does-nit-mean-in-hacker-speak) formatting issues because you canβt run it | ||
- If you see a glaring issue or have a question, plop a comment in the PR | ||
|
||
From a DX perspective, this process is slow and shit. If I think itβs slow and shit, I know my team does as well. If my team thinks that, then when theyβre stressed or lazy, theyβre not reviewing my PRs well, meaning theyβre not always pulling down my code which leads to worse code health in the long run across the team. | ||
|
||
The other issue here is it's is not conducive to making changes to your matesβ PRs. NITing PRs is a waste of time if you could just fix the issues, but you have to get through so many steps to make the change. | ||
|
||
## Solution: Make PRs Easy To Touch | ||
**Things that we donβt want to do need to be easy.** Thatβs why startups make it way easier to pay for subscriptions rather than to cancel them. | ||
|
||
The PR loop of: view code, run code, fix/comment needs to be high velocity. | ||
|
||
{{< figure src="images/github-demo.gif" caption="Github Pull Request demo. [link](https://github.com/microsoft/vscode-pull-request-github)" >}} | ||
|
||
The best thing Iβve seen to speed up the PR loop is to have PRs in the editor right away. For this, Iβve been using VSCodeβs awesome [Github Pull Request](https://github.com/microsoft/vscode-pull-request-github) extension, but you can use anything that makes it quick to pull PRs, view changes, and comment in your editor. | ||
|
||
Basically Github PR lightly puts the GitHub web PR view into the vscode. Youβll have access to all PRs, the file changes, comments, and most importantly: a button to immediately pull down a PRβs branch (an actual hidden super power). | ||
|
||
When you do PRs in the editor, you get some serious benefits: | ||
1. **Speed** - You have your teammate's branch (and file diffs) locally with a single button click. No navigating the web. Less time context switching. | ||
2. **High Touch** - You can run their code right away. You can change their code right away and push it. No need for the comment for a small change. There is no struggle to make the decision if you need to pull down the code or not. Itβs there! Add in a log statement, learn whatβs happening! | ||
3. **Self Service** - It works stupendously for your PRs as well. The second you push, you can see your changes and fix any accidentally pushed code. Never leave the editor and can also quickly jump into your next branch. | ||
|
||
# PR Velocity In Teams | ||
The speed at which PRβs are getting reviewed is a hugely overlooked part of what slows down our feature delivery. Adding a PR tool to your editor is a solid step for speeding up the PR loop, but if you really want to see this **speed compound**, get your whole team on it. | ||
|
||
When teams do PRs in the editor, we are not only fixing each otherβs code faster, but also understanding each othersβ code, and thus our whole codebase, on a deeper level. Our team at [Formly](www.formly.ai) hugely benefits from Github PR and weβre not looking back π |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
...ssets/css/stylesheet.bb99d898ad9e8d07be6f42126a2a81bdf529e3cf090ca8b48e65e7256aad9e77.css
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.