<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Remco Gubbels</title>
    <description>The latest articles on DEV Community by Remco Gubbels (@bubbit).</description>
    <link>https://dev.to/bubbit</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F135559%2Fa2975a5b-39c9-4409-8729-3e26f5e1b02c.jpeg</url>
      <title>DEV Community: Remco Gubbels</title>
      <link>https://dev.to/bubbit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bubbit"/>
    <language>en</language>
    <item>
      <title>My 3 ways of reviewing pull requests</title>
      <dc:creator>Remco Gubbels</dc:creator>
      <pubDate>Sat, 29 May 2021 12:17:49 +0000</pubDate>
      <link>https://dev.to/bubbit/my-3-ways-of-reviewing-pull-requests-1i1a</link>
      <guid>https://dev.to/bubbit/my-3-ways-of-reviewing-pull-requests-1i1a</guid>
      <description>&lt;p&gt;In my day to day life as a programmer, one of the main things I run into are pull requests. Either I made them myself and am waiting for a review, or I am asked to review a pull request from a colleague.&lt;/p&gt;

&lt;p&gt;A pull request is a method of working within the coding community to get your peers to review, and ultimately approve your code contributions and merge them into the main branch.&lt;/p&gt;

&lt;p&gt;In this blog post I want to share my three ways of reviewing pull requests and some general remarks that apply to all three approaches.&lt;/p&gt;

&lt;p&gt;General remarks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don't be afraid to ask questions if something is unclear.&lt;/li&gt;
&lt;li&gt;Pull requests (PR's) should have a short life. PR's that are open for too long will go out of sync in an active code base and create more and more work.&lt;/li&gt;
&lt;li&gt;Repeating yourself in a review, ie. commenting the same thing on a repeating factor, can be seen as negative. Try to keep it to one remark that includes the other cases.&lt;/li&gt;
&lt;li&gt;All automated tests should pass in any situation and need to be added if applicable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open source reviewing
&lt;/h2&gt;

&lt;p&gt;A few years ago I was attending a presentation by &lt;a href="https://www.youtube.com/watch?v=uzxcILudFWM&amp;amp;ab_channel=DomCode"&gt;Pieter Hintjens&lt;/a&gt; regarding managing Open Source communities. One of the things that I remember from this talk was his view on how to handle pull requests within such a community and what 'joy' it sparks for a contributor to get their pull requests merged quickly. His way of reviewing was to not really review it, just merge and see later if it works. If it breaks revert it or fix it yourself.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bK9Ibr_E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ne9lat7v5keh8b9jgjme.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bK9Ibr_E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ne9lat7v5keh8b9jgjme.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Back then, my initial reaction was this is never going to work in the projects I work on. However over the years I have started to develop my own way of reviewing pull requests, and I have to say that his approach does work within some projects I have worked on, Open Source and internal ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intense reviewing
&lt;/h2&gt;

&lt;p&gt;This is the most 'nit-picky' way of reviewing a pull request. Intense reviewing is used within our team at work to uphold strict styling, test coverage and a way of writing code in order to keep our code base synced across multiple repositories.&lt;br&gt;
During this kind of reviewing process you go file by file and check if there are (CI system should indicate) any issues regarding leftover &lt;code&gt;console.logs&lt;/code&gt;, missing semicolons and more importantly, stuff that is hard to detect for 'linting' tooling, typo's, missing comments if necessary etc.&lt;/p&gt;

&lt;p&gt;These kinds of issues of course do not need a long comment. In our team we sometimes just resort into using either an emoji or just a &lt;code&gt;?&lt;/code&gt;. Make sure that you only do this if you know it is not perceived as a 'bad comment' else it can have a negative effect.&lt;/p&gt;

&lt;p&gt;The next step of this review process is to really understand why certain decisions are made, especially if you think you would have solved this issue with solution A, but solution B was chosen.&lt;br&gt;
Here are two ways of commenting on this kind of topic:&lt;br&gt;
The telling way: 'I think solution A is way better' or (in my opinion) the better, questioning way: 'Why did you choose solution B here?'.&lt;br&gt;
If you are not satisfied with the reasoning, you can go in to a more detailed questioning, e.g. 'Do you think solution A would be better?' Keeping it as a question should spark a discussion and hopefully you both learn something out of it, in the end it does not matter which solution is chosen.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aUUZjIYZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8qflerb05gg9u5vljroj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aUUZjIYZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8qflerb05gg9u5vljroj.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
The aim of a review process like this is to completely understand the reasoning of how and why this code change has been done,  especially to make sure their are no &lt;a href="https://www.artima.com/articles/dont-live-with-broken-windows"&gt;broken windows&lt;/a&gt; in the code base you and your team are responsible for.&lt;/p&gt;

&lt;p&gt;Another benefit when using a review style like this with newer developers is that they have a 'safety net' while coding, which means that they should feel like they can try things, won't break anything and also learn and improve themselves.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quality driven reviewing
&lt;/h2&gt;

&lt;p&gt;Quality driven reviewing is a way of PR reviewing if something is currently required, but in the long run is not going to be there. e.g. something that is required for a short migration period, this is the middle ground of the three types of reviewing.&lt;br&gt;
Sometimes your team needs to release a feature that is temporary (yes I know, most things temporary in a code base are still there four years later) or under a very tight deadline. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SAfs64Qe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1ydkyrgd56a9muc534j.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SAfs64Qe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1ydkyrgd56a9muc534j.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Deadlines or temporary solutions are never an argument for bad code. The intense way of reviewing normally takes a bit more time and sometimes could be a waste at that moment due to the duration the code will live in the code base, or take too long for a deadline that needs to be met. During this way of reviewing you check if the code is correct and does not break anything else. Even if you think that solution A should be replaced with solution B as it's 'better' or 'more in style' this can be skipped unless it is necessary for performance/stability. &lt;/p&gt;

&lt;p&gt;Just to be sure, only pick this method of reviewing if you cannot do the intense way of reviewing, it is doing the bare minimum, but sometimes that can be enough.&lt;/p&gt;

&lt;p&gt;Do you have other ways of reviewing or do you have any remarks regarding the ones I have mentioned here? Let me know!&lt;br&gt;
Also do you sometimes do the fourth option of reviewing, namely even if you know it's broken, not in style etc, just merge it and fix it afterwards as you're 'done' with commenting?&lt;/p&gt;

</description>
      <category>codereview</category>
    </item>
    <item>
      <title>The reason I will start blogging</title>
      <dc:creator>Remco Gubbels</dc:creator>
      <pubDate>Sat, 13 Apr 2019 00:53:23 +0000</pubDate>
      <link>https://dev.to/bubbit/the-reason-i-will-start-blogging-4k8m</link>
      <guid>https://dev.to/bubbit/the-reason-i-will-start-blogging-4k8m</guid>
      <description>&lt;p&gt;The question that has been popping up in my head for about the last 2 to 3 years, should I start blogging about my learnings when it comes to being a developer or not?&lt;/p&gt;

&lt;h1&gt;
  
  
  Why should I do it?
&lt;/h1&gt;

&lt;p&gt;If you browse around the different blog sites, from &lt;a href="https://medium.com/"&gt;Medium&lt;/a&gt; to &lt;a href="http://dev.to/"&gt;Dev.to&lt;/a&gt; obviously the answer you find on those pages will be yes, blogging does wonders for you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improves your writing skills&lt;/li&gt;
&lt;li&gt;Improves your critical thinking&lt;/li&gt;
&lt;li&gt;Organizes your thoughts and learn&lt;/li&gt;
&lt;li&gt;Promote yourself to a wide audience&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Why didn't I do it before?
&lt;/h1&gt;

&lt;p&gt;In my head I also answered this question with yes, I should, many times. But I never followed on that answer to actually post and publish something. There are some out-dates pages on different file storage systems, from work related to personal posts etc, but nothing ever ended up on a blog site. Besides that, another question was always asked: where should I put my blogs? Should I write my own blogsite? which always followed with a long silence of indecision and sometimes creation of a starter app.&lt;/p&gt;

&lt;p&gt;From my point of view, it always comes back to the same well-known scenario, the problem with finishing things. I start enthusiastically with writing the outlines of the blog posts, just as I'm doing at this moment (this of course will be somewhat invalid if you're reading this...) and leaving it for another day to finish the post and read it over, but this other day never occurs or way later in the future when the post is outdated and needs to be tweaked in order to be valuable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kvl3eyFc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tqj3oh2nmoe36napexv5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvl3eyFc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tqj3oh2nmoe36napexv5.png" alt="unfinished projects toy story meme"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Why will I do it this time?
&lt;/h1&gt;

&lt;p&gt;At my job we have to come up with goals for each year how we want to develop ourselves and set targets that are obtainable in that year. As I mentioned before writing a blog has been in my mind for the last few years, it also has always been on the 'backlog' of my goals or as an underlying part of another goal. It always ended up not being picked for other goals. This year I'm going to change that and see if by adding an extra motivation (better end of the year assessment), I will go through with it and actually pick up blogging in order to see if the above statements about improving myself are true.&lt;/p&gt;

&lt;h1&gt;
  
  
  What will I blog about?
&lt;/h1&gt;

&lt;p&gt;I find it always hard to pick a subject where you can blog about that might be interesting to people to read and find actually useful, so I attached it to another goal that I have for this year. We just started adopting &lt;a href="https://www.ansible.com/"&gt;Ansible&lt;/a&gt; at our work and it's a new technology for a lot of people so I decided to follow an online course to get to know it. After gathering this knowledge, I could have decided to use this for myself and share the link of the course with other people, but this way I wouldn't improve myself in the area that I think I need the biggest improvement, explaining things simple and understandable to other people. That also goes hand in hand with the quote: "If you can't explain it simply, you don't understand it well enough.". Which accordingly to this &lt;a href="https://skeptics.stackexchange.com/questions/8742/did-einstein-say-if-you-cant-explain-it-simply-you-dont-understand-it-well-en"&gt;post&lt;/a&gt; is falsely noted as an Einstein quote and was never said by him, however I still like it. &lt;/p&gt;

&lt;p&gt;So, I've ended up challenging myself by creating an internal workshop for colleagues at work, but next to this I'll be creating a series of blogposts that will be aligned with the different steps in the workshop and hopefully help people in their search for Ansible knowledge. Besides the workshop steps I'll be doing a high-over post on the technology stack that I'll be using in the workshop, which be based on a Lit front-end with a NodeJS API as backend (still haven't decided on which server base to use) and the end result will be a site with build in analytics and database, which of course has been done multiple times already.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--665nDj6t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/bh8oqfedoltimotdidcn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--665nDj6t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/bh8oqfedoltimotdidcn.jpg" alt="honest work meme"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So here I am, basically answering the question I have been asking myself for the last few years, should and will I start blogging, yes, I'll give it a shot and I'll see where it will take me in the coming months.&lt;/p&gt;

</description>
      <category>blogging</category>
      <category>beginners</category>
      <category>career</category>
    </item>
  </channel>
</rss>
