{"id":603,"date":"2020-05-23T16:55:24","date_gmt":"2020-05-23T20:55:24","guid":{"rendered":"http:\/\/deadpelican.com\/wordpress\/?p=603"},"modified":"2020-05-23T16:55:24","modified_gmt":"2020-05-23T20:55:24","slug":"open-source-code-reviews","status":"publish","type":"post","link":"http:\/\/deadpelican.com\/wordpress\/?p=603","title":{"rendered":"open source code reviews"},"content":{"rendered":"<p>I don&#8217;t have too many good things to say about open source, but where there is something, I&#8217;m happy to admit it.<\/p>\n<p>Lots of good comes from the open source movement. It keeps people off the streets for example.<\/p>\n<p>ha ha.<\/p>\n<p>A lot of great software and tools have come out of the open source effort, but an unbelievably massive amount of lousy software, broken systems and bar-lowering attitudes towards software quality also come from there. I&#8217;m not saying open source is completely to blame, but it certainly isn&#8217;t helping.<\/p>\n<p>One of the popular arguments for open sourcing software is that it allows interested third parties to code review the software for bugs, security holes and other problems.<\/p>\n<p>I have a lot of things to say about code reviews, but that&#8217;s for another book.<\/p>\n<p>I hear the phrase &#8220;code review&#8221; and I think of all the programming jobs I&#8217;ve had where sometimes in a group setting people get to critique your software for various qualities.<\/p>\n<p>My personal view is that code reviews should be for other team members to familiarize themselves with new code you&#8217;ve written, and to look for and find bugs. Possibly in trying to understand how new code is supposed to work, and asking questions, a team member might uncover a bug the programmer didn&#8217;t spot.<\/p>\n<p>That to me, is the ideal.<\/p>\n<p>But nothing like that actually happens. No two programmers will ever produce the same code to solve the same problem. Everybody has a different style, different handwriting, different experience. The argument over tabs vs spaces is such a common drama that to bring it up is merely to tell a joke so old everybody laughs simply because they know they get to have the tabs vs spaces fight again.<\/p>\n<p>In a business setting, I have found people&#8217;s tendencies in code reviews tends to be more about &#8216;that&#8217;s not the way I&#8217;d do it&#8217; than &#8216;tell me if you think this is a bug or not&#8217;. I&#8217;ve personally seen code reviews that contribute nothing more than &#8220;you should change this variable name to that.&#8221; I&#8217;m trying to imagine any customer that would be willing to pay more for a piece of software because the variable names were changed from one name to another. You could argue that maybe one variable name might be a little more descriptive than another, but not so much that the customer would be willing to pay that much more for it, since now it&#8217;s eaten up developer time and increased the cost of producing the product.<\/p>\n<p>This endlessly frustrates me because time that could be spent testing and finding bugs it instead spend dwelling on variable names and source code formatting.<\/p>\n<p>But this is where open source really shines.<\/p>\n<p>It&#8217;s hard enough to get anybody to code review anything for free. So if there&#8217;s something really worth code reviewing, the reviewer is likely to spend their time looking for bugs or fixing a problem they found, not complaining about formatting or variable names.<\/p>\n<p>This Is Genius. It&#8217;s a self solving problem.<\/p>\n<p>Perhaps a lesson can be learned from this.<\/p>\n<p>Software developers get paid to write software, perhaps they should have to volunteer their time to do code reviews.<\/p>\n<p>Now will they volunteer their time? Probably not, but perhaps there is another way to incentivize people to do code reviews for no compensation. Like making it mandatory. Like suffering a penalty if you don&#8217;t. Or maybe there&#8217;s some backhanded complement kind of thing that can be done that would still drive the need to do code reviews, but only enough to do them the open source\/find bugs way, not the corporate america\/please-change-your-code-to-suit-my-tastes way. Oh and by the way, after you change code, you&#8217;ve invalidated all your testing, so you need to test it all over again, so if you did test anything before, that was a waste of time, because somebody asked you to change a variable name.<\/p>\n<p>I&#8217;ll have to think about this some more, but this is clearly something the open source crowd does better than the paid business crowd.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I don&#8217;t have too many good things to say about open source, but where there is something, I&#8217;m happy to admit it. Lots of good comes from the open source movement. It keeps people off the streets for example. ha ha. A lot of great software and tools have come out of the open source [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[],"tags":[],"class_list":["post-603","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=603"}],"version-history":[{"count":3,"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/603\/revisions"}],"predecessor-version":[{"id":606,"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/603\/revisions\/606"}],"wp:attachment":[{"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=603"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/deadpelican.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}