Refactoring is a key factor to get high code quality. Too often we end up in a situation when refactoring is already too difficult. By refactoring constantly we can avoid that trap and keep our code clean.
Did you know that most of the smelly/bad code is written when code files are created, not gradually upon code updates? I didn't but I found research about it and wrote this blog post. Is it because we think "we will fix this later"?
Anyone who has written unit tests have been fighting with object creations. Some times it is so difficult to create objects used in tests. Test data builders come to rescue! With them I write better tests with less time.
Readability is key point in unit tests. One common antipattern with unit tests are setup methods, because they make unit tests more difficult to read. Here I have written how helper methods can be used instead of setup methods to make unit tests more readable.
Ron Jeffries has said "code never lies, comments sometimes do". What makes comments sometimes lie? Usually the reason is that we don't keep them up to date. In this blog post I have written about few commenting anti-patterns and how to avoid lying comments.
"Make it a practice to present and discuss each implementation at one-third completion", wrote Adam Tornhill in his excellent Software Desing X-Rays book. Since reading that book I've been thinking about it, and I wrote why I strongly agree with it. Practically it improves code quality (which I value really high).
The year 2018 included exceptionally lot of new "tech stuff" for me: Azure, Azure DevOps / VSTS, Git and Docker. Especially learning Azure took a lot of time from my "learning budget" in 2018. Besides those, I managed to read a lot of tech books, more than I've ever read. I can say in 2018 I learned especially much. In this blog post, I will go little details about what I learned in 2018 and take a quick look at my new programming language for 2019: Angular/TypeScript.