{"id":28128,"date":"2017-10-20T13:26:14","date_gmt":"2017-10-20T11:26:14","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=28128"},"modified":"2017-10-20T13:26:14","modified_gmt":"2017-10-20T11:26:14","slug":"on-empathy-pull-requests","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/10\/20\/on-empathy-pull-requests\/","title":{"rendered":"On Empathy &#038; Pull Requests"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>I&#8217;ve trained more people on the subject of pull requests than I care to remember.\u00a0 But I&#8217;ve never came close to explaining the best practices as well as <a href=\"https:\/\/slack.engineering\/on-empathy-pull-requests-979e4257d158\">this Slack Engineering blog post<\/a> does:<\/p>\n<blockquote><p>Basically, your reviewer is\u00a0<em class=\"markup--em markup--p-em\">totally missing context<\/em>, and it is your pull request&#8217;s job to give them that context. You have a few options:<\/p>\n<ul>\n<li>Give it a good title, so people know what they&#8217;re getting it into before they start.<\/li>\n<li>Use the description to tell your reviewer how you ended up with this solution. What did you try that didn&#8217;t work? Why is this the right solution?<\/li>\n<li>Be sure to link to any secondary material that can add more context\u200a\u2014\u200aa link to the bug tracker or a Slack archive link can really help when describing the issue.<\/li>\n<li>Ask for specific feedback\u200a\u2014\u200aif you are worried that the call to the `fooBarFrobber` could be avoided, let them know that so they can focus their effort.<\/li>\n<li>Finally, you should explain what&#8217;s going on for your reviewer. What did you fix? Did you have any trouble fixing the bug? What are some other ways you could&#8217;ve fixed this, and why did you decide to fix it this way?<\/li>\n<\/ul>\n<p>Not every pull request needs every single one of those things, but the more information you give your reviewer, the better they will be able to review your code for you. Plus, if someone ever finds a problem in the future and tracks it down to this pull request, they might understand what you were trying to do when they make a follow-up fix.<\/p>\n<p>Give your reviewer all the context they need to get up to speed with your bug so they can be an informed, useful code reviewer. It&#8217;s all about getting your reviewer onto the same page as yourself.<\/p><\/blockquote>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>I&#8217;ve trained more people on the subject of pull requests than I care to remember.\u00a0 But I&#8217;ve never came close to explaining the best practices as well as this Slack Engineering blog post does: Basically, your reviewer is\u00a0totally missing context, and it is your pull request&#8217;s job to give them that context. You have a &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/10\/20\/on-empathy-pull-requests\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">On Empathy &#038; Pull Requests<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"On Empathy & Pull Requests #VersionControl #git #collaboration #BestPractices #WebDev #QA","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[3069,3179,2265,3074,1588],"keyring_services":[],"class_list":["post-28128","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-best-practices","tag-collaboration","tag-git","tag-quality-assurance","tag-version-control"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":34993,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/18\/how-to-speed-up-the-code-review\/","url_meta":{"origin":28128,"position":0},"title":"How To Speed Up The Code Review","author":"Leonid Mamchenkov","date":"February 18, 2019","format":false,"excerpt":"\"How To Speed Up The Code Review\" is a collection of excellent tips and strategies on how to make your Pull Requests easier to review. These work equally well for Open Source projects and for proprietary repositories. The gist of this article is: don't make large pull requests, and don't\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/review-mem.jpeg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/review-mem.jpeg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/review-mem.jpeg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/review-mem.jpeg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/review-mem.jpeg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":34138,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/15\/github-draft-pull-requests\/","url_meta":{"origin":28128,"position":1},"title":"GitHub : Draft Pull Requests","author":"Leonid Mamchenkov","date":"February 15, 2019","format":false,"excerpt":"Here are some exciting news from GitHub - an introduction of the Draft Pull Requests. I think this is a very welcome addition to GitHub features. At work, we've been using a work around to solve the problem - a [WIP] prefix in the title of the pull request, which\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/draft-pull-requests.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/draft-pull-requests.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/draft-pull-requests.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/draft-pull-requests.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/draft-pull-requests.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":23497,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/02\/11\/microsoft-reviews-pull-requests-for-c-from-github\/","url_meta":{"origin":28128,"position":2},"title":"Microsoft reviews pull requests for C# from GitHub","author":"Leonid Mamchenkov","date":"February 11, 2015","format":"link","excerpt":"Microsoft reviews pull requests for C# from GitHub","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28418,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/27\/github-quickly-review-changed-functions-in-your-php-pull-requests\/","url_meta":{"origin":28128,"position":3},"title":"GitHub : Quickly review changed functions in your PHP pull requests","author":"Leonid Mamchenkov","date":"February 27, 2018","format":false,"excerpt":"GitHub is one of the greatest tools for developers ever.\u00a0 And it keeps getting better.\u00a0 Most of the new features that GitHub introduces are usually generic and apply to all developers universally.\u00a0 Today, however, they have a special present for the PHP developers -\u00a0Quickly review changed functions in your PHP\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/github-php-500x221.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":25021,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/07\/infrastructure-update-github-bitbucket-hipchat-teamworkpm-and-redmine\/","url_meta":{"origin":28128,"position":4},"title":"Infrastructure update : GitHub, BitBucket, HipChat, TeamworkPM and Redmine","author":"Leonid Mamchenkov","date":"December 7, 2015","format":false,"excerpt":"It's been a while since I posted an update on our infrastructure tools, so here goes one. \u00a0(I know, ideally, it should be on our company's blog, but we haven't finished that part of the site yet). First things first - migration from GitHub to BitBucket. \u00a0I have said many\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26325,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/09\/pull-request-focused-dashboards-for-bitbucket\/","url_meta":{"origin":28128,"position":5},"title":"Pull Request focused dashboards for BitBucket","author":"Leonid Mamchenkov","date":"August 9, 2016","format":false,"excerpt":"A few days ago BitBucket announced the re-worked dashboards, which are now much more focused on the Pull Requests that you've created or need to review, rather than lists of repositories that you have access to. \u00a0I've enabled the feature for my team and it looks super awesome! If you've\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"PR-focused-dashboard","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/08\/PR-focused-dashboard-500x333.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=28128"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28128\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=28128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=28128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=28128"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=28128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}