Category

Everyday software development

Category

Today we are going to talk about writing code comments. I will share my view on comments and provide you with some best practices (or worst?) for commenting code. Why do we write code comments? In theory, we use comments to explain some complex or not clear enough parts of our code. We aim to make them easy for understanding for the other developers and us in the future. Everything sounds great, but in practice, things get a lot different. Reality shows that we often write comments to explain a poorly written code that we are lazy to refactor. That’s…

A couple of days ago, I had to migrate from Visual Studio 2017 to Visual Studio 2019. During installation, I came across a very annoying error – vs_runtimeMinimum_x64.msi is missing. The bigger problem was that I had that error message even trying to reinstall Microsoft Visual C++ redistributables. Keep in mind that this fix would work for any application that requires “vc_runtimeMinimum_x64”, not only Visual Studio. Steps to get rid of “vc_runtimeMinimum_x64.msi is missing” error message 1. First cancel any running installation of the problematic software (in my case, that was Visual Studio 2019); 2. Download “Microsoft troubleshooter”. You can…

While ago while I was looking for some papers I found out an old sticky note. On the sticky note, there are only four lines. They are: No duplication;One thing;Expressiveness;Tiny abstractions. Of course, I am not the author of it. The same set and order of rules I got from a book. I can not recall right now, but It is a book by Uncle Bob or Martin Fowler (if you haven’t read any of theirs books, I highly recommend you to do it). I remember I wrote that sticky note back in the days, and it stayed stuck…

HTTP is a term that you should be prepared to come across many times in your programming journey. When I was starting as a junior programmer, I didn’t let the abbreviations intimidate me. Even experienced people have to look up some acronyms because new abbreviated technologies emerge every day. The main reason why some newbie programmers never make it in the industry is that they don’t do their research well (or at all). You need to dig deeper than just the definition of these abbreviations. Start by looking at some background of how it started to understand it better. In…

Hello guys! Lately, I don’t have much time for writing, so that’s the reason you haven’t seen any new articles. But I promise this is going to change (drastically). Today I will share with you three steps to take to be a better developer. They are not easy or straightforward. They require time, commitment, and discipline. But if you want to be an excellent professional, you should walk the extra mile. So let’s go! Read the old books These days many developers come from software boot camps, coding academies, or self-taught learning from online resources and experimenting. Don’t get me…

Yesterday I had to explain to a friend (a junior developer) what OAuth (OAuth 2.0) is. As I saw, It is relatively hard for a developer with little experience to grasp the idea behind it. Most of the time, people don’t get the concept behind OAuth 2.0 and OpenID Connect just because they are poorly explained. So in this article, I will try to explain them in the simplest way possible. What is OAuth 2.0? OAuth is an authorization protocol. Please don’t mistake it with an authentication protocol. The sole purpose of OAuth 2.0 is to grant access to resources,…

Stress! The release date is coming. The client is changing the requirements at the last moment. QAs are reporting bugs. Everything breaks. You work long hours, and you still have a ton of work (but meanwhile, you have two meetings you must attend). Sounds familiar, right? So, how do we survive that and keep our sanity? I won’t preach to you how you should meditate, eat healthily, do sports, etc. Of course, these things are essential, but today I want to share my approach with you—my philosophical point of view. Just embrace the stress I know this sounds ludicrous but…

Software development is not about coding. Code is only the way we communicate our intentions to the scrap box under our desk. Software development is about thinking and finding simple solutions to complex problems. We all know this. But also very often we forget it. The wrongest thing you can do is to start coding right after you got a task. It is scary how many people do precisely that. Of course, I don’t mean simple tasks like adding an extra field to a form. In this article, I will share with you how I approach and plan my development…

This one will be short. Yesterday, while I was browsing a programming forum, I came across a statement like this: “… and currently, I am creating some neat abstractions if I need something more in the future…”. This is so wrong! And let me tell you why. Overengineering Overengineering in software development means creating something that is not needed. Something that brings overhead to the development process and inefficiency to the end product. An elementary example of overengineering is if all your applications data can be saved in a 10 line XML file, but you use a SQL database. Predicting…

One way to spot a lack of professionalism is missing unit tests in a project. It is frightening how many dev teams do not write any tests and rely only on manual testing. In the following paragraphs, I will try to convince you about the importance of writing unit tests. What are unit tests? Unit tests are the smallest tests you can write. They tend to test different parts of your code (mainly single methods). Unit tests should be very fast so that you can run them often. It is important to stress that they do not test how different…