{"id":176,"date":"2011-10-03T13:00:06","date_gmt":"2011-10-03T20:00:06","guid":{"rendered":"http:\/\/www.sqldbpros.com\/?p=176"},"modified":"2011-10-04T13:19:26","modified_gmt":"2011-10-04T20:19:26","slug":"code-review-tips-for-database-developers","status":"publish","type":"post","link":"http:\/\/sqldbpros.com\/wordpress\/2011\/10\/code-review-tips-for-database-developers\/","title":{"rendered":"The Three Best Tips For Effective Code Reviews And Preventing Knife Fights!"},"content":{"rendered":"<p>Bring a group of senior business intelligence professionals or SQL Server pros together to review each others code and you have all the potential for a good knife fight.\u00a0 As our team is getting ready to make design\/code reviews a regular part of our development process we're looking to make sure we get off on the right foot.\u00a0 This led me to a great post by <a title=\"Ben Kamens\" href=\"http:\/\/bjk5.com\" target=\"_blank\">Ben Kamens of the Khan Academy<\/a>.\u00a0 Ben provides <a href=\"http:\/\/bjk5.com\/post\/3994859683\/code-reviews-as-relationship-builders-a-few-tips\" target=\"_blank\">six tips for effective code reviews<\/a>. Of those six there are a few in particular I want to make sure my team and I focus on:<!--more--><\/p>\n<blockquote><p>1. <strong>Point Out The Good Stuff<\/strong><\/p>\n<p>If your team isn\u2019t taking advantage of the chance to also acknowledge good work and the little sparks of genius that pop up here and there, you\u2019re doing it wrong.<\/p>\n<p>2. <strong>Review In A Timely Manner<\/strong><\/p>\n<p>Waiting a month to look at somebody\u2019s code and then lobbing a bomb of critiques their way is a great way to really piss someone off. [Additionally,] this guarantees that the dev will have forgotten a lot of their work, and you\u2019ll catch them on their heels.<\/p>\n<p>3. <strong>Encourage Discussion During Review <\/strong><\/p>\n<p>Blindly accepting all of a reviewer\u2019s suggested changes isn\u2019t healthy.<\/p><\/blockquote>\n<p>Kamens wraps up his post with a prime piece of advice which I'll be looking for my team to keep at the top of our agenda: \"Code reviews exist to help your team refine its problem-solving abilities, not to produce the perfect block of code.\"<\/p>\n<p>&nbsp;<\/p>\n<p>(and of course if all else fails, it turns out \"<a title=\"Knife FIghting Techniques From Folsom Prison\" href=\"http:\/\/www.amazon.com\/gp\/product\/0873644840\/ref=as_li_ss_tl?ie=UTF8&amp;tag=grocwine-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0873644840\" target=\"_blank\">Knife Fighting Techniques From Folsom Prison<\/a>\" is available on Amazon.\u00a0 Required reading for any SQL Server professional...)<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.amazon.com\/gp\/product\/0873644840\/ref=as_li_ss_tl?ie=UTF8&amp;tag=grocwine-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0873644840\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-182 aligncenter\" title=\"knifeFight\" src=\"http:\/\/www.sqldbpros.com\/wordpress\/wp-content\/uploads\/2011\/10\/knifeFight.jpg\" alt=\"Knife Fighting From Folsom Prison\" width=\"300\" height=\"480\" srcset=\"http:\/\/sqldbpros.com\/wordpress\/wp-content\/uploads\/2011\/10\/knifeFight.jpg 300w, http:\/\/sqldbpros.com\/wordpress\/wp-content\/uploads\/2011\/10\/knifeFight-187x300.jpg 187w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bring a group of senior business intelligence professionals or SQL Server pros together to review each others code and you have all the potential for a good knife fight.\u00a0 As our team is getting ready to make design\/code reviews a regular part of our development process we're looking to make sure we get off on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,17,21],"tags":[35,33,32,34,36,169,5],"class_list":["post-176","post","type-post","status-publish","format-standard","hentry","category-businss-intelligence","category-data-architect","category-leadership","tag-best-practice","tag-code-review","tag-design-review","tag-development","tag-knife-fight","tag-leadership","tag-tips"],"_links":{"self":[{"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/posts\/176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/comments?post=176"}],"version-history":[{"count":7,"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/posts\/176\/revisions"}],"predecessor-version":[{"id":178,"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/posts\/176\/revisions\/178"}],"wp:attachment":[{"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/media?parent=176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/categories?post=176"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/sqldbpros.com\/wordpress\/wp-json\/wp\/v2\/tags?post=176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}