{"id":1064,"date":"2010-03-02T18:09:47","date_gmt":"2010-03-02T23:09:47","guid":{"rendered":"http:\/\/mikeconley.ca\/blog\/?p=1064"},"modified":"2023-12-20T16:25:17","modified_gmt":"2023-12-20T21:25:17","slug":"peer-code-review-achievements","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2010\/03\/02\/peer-code-review-achievements\/","title":{"rendered":"Peer Code Review Achievements"},"content":{"rendered":"<p>First off, check this out:\u00a0 <a href=\"http:\/\/exogen.github.com\/nose-achievements\/\">Unit Testing Achievements for Python<\/a><\/p>\n<p>Cool:\u00a0 rewards for testing (or, in some cases, breaking the build&#8230;see the &#8220;Complete Failure&#8221; achievement).<\/p>\n<p>And so my brain instantly goes to:\u00a0 why can&#8217;t this be applied to peer code review?<\/p>\n<p><a href=\"http:\/\/twitter.com\/gvwilson\">@gvwilson<\/a>, <a href=\"http:\/\/twitter.com\/wolever\">@wolever<\/a> and <a href=\"http:\/\/twitter.com\/bwinton\">@bwinton<\/a> and <a href=\"http:\/\/twitter.com\/mike_conley\">I<\/a> have been tossing the idea around on Twitter.\u00a0 Here&#8217;s a list of the achievements that we have come up with so far:<\/p>\n<ul>\n<li>&#8220;The Congress Award&#8221;:\u00a0 review request with the longest discussion thread<\/li>\n<li>&#8220;The Two Cents Award&#8221;:\u00a0 most review participants<\/li>\n<li>&#8220;The One-Liner Award&#8221;:\u00a0 diff has only a single line<\/li>\n<li>&#8220;The Difference-Maker Award&#8221;:\u00a0 biggest diff<\/li>\n<li>&#8220;The Awed Silence Award&#8221;:\u00a0 oldest review request without a single review<\/li>\n<li>&#8220;The I-Totally-Rock Award&#8221;:\u00a0 author gives themselves a ship-it<\/li>\n<li>&#8220;The New Hire Award&#8221;:\u00a0 user has submitted 5 patches, but hasn&#8217;t reviewed any code yet<\/li>\n<li> &#8220;The Manager Award&#8221;:  reviewed patches to submitted patches ratio &gt; 5<\/li>\n<li>&#8220;The Code Ninja Award&#8221;:\u00a0 biggest diff to get a ship-it and commit 1st time through<\/li>\n<li>&#8220;The Persistence Award&#8221;:\u00a0 diff which gets &gt;5 review before being accepted<\/li>\n<li>&#8220;The <a href=\"http:\/\/www.bulwer-lytton.com\/\">Bulwer-Lytton<\/a> Award&#8221;:\u00a0 for the most long-winded review<\/li>\n<li>&#8220;The Ten-Foot-Pole Award&#8221;:\u00a0 for the scariest review<\/li>\n<\/ul>\n<p>Can you think of any more?<\/p>\n<p>And while it&#8217;s fun to think of these, what would the effects of achievements be on code review adoption?\u00a0 Sounds like an interesting thesis topic.<\/p>\n<p>Or a GSoC project.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>First off, check this out:\u00a0 Unit Testing Achievements for Python Cool:\u00a0 rewards for testing (or, in some cases, breaking the build&#8230;see the &#8220;Complete Failure&#8221; achievement). And so my brain instantly goes to:\u00a0 why can&#8217;t this be applied to peer code review? @gvwilson, @wolever and @bwinton and I have been tossing the idea around on Twitter.\u00a0 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[454],"tags":[625,501],"class_list":["post-1064","post","type-post","status-publish","format-standard","hentry","category-code-reviews","tag-achievements","tag-code-review"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-ha","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/1064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/comments?post=1064"}],"version-history":[{"count":6,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/1064\/revisions"}],"predecessor-version":[{"id":3188,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/1064\/revisions\/3188"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=1064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=1064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=1064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}