Editorial note: I originally wrote this post for the Submain blog. You can check out the original here, at their site. When you create a .NET application in Visual Studio, it contains two build configurations: Debug and Release. But what does this mean exactly? Most developers will tell you that you can transform your Web.config or App.config based on the selected build configuration. For example, when you select “Debug,” your database connection string might point to a database on your

I focus on helping teams and organizations reduce technical debt. This means a lot of work in legacy applications. But once technical debt has been reduced, it’s important to think about how we will avoid creating too much new technical debt in the future. Of course, there will always be technical debt, but we should try keeping it to a minimum. Today, I would like to write about company frameworks and how they often increase technical debt, while providing little

Editorial note: I originally wrote this post for the Submain blog. You can check out the original here, at their site. Documenting your code is important. It tells other developers what the code does, why it is constructed in a certain way, and how to use it. Good documentation saves them time when they are trying to perform a certain task that isn’t straightforward. It will probably also save you time because the human brain can only store so much information.

Editorial note: I originally wrote this post for the Submain blog. You can check out the original here, at their site. Put two developers together and they’re bound to have a discussion about coding style. No two developers write code in the exact same way. More often than not, one isn’t better than the other and it’s just a matter of taste. In a team or in a single project, it’s more important to be consistent than it is to choose the

Editorial note: I originally wrote this post for the Submain blog. You can check out the original here, at their site. Why do we have the tendency to comment out code instead of just deleting it? The reason is that we don’t want to lose a piece of code that might come in handy in the future. Maybe we think we’re still going to need it because it solves some problem in an elegant way. Or maybe it’s because it

Pull Requests have become a well-known concept in open-source projects, not in the least thanks to GitHub. But pull requests are also finding their way to the enterprise and closed-source projects. Making pull requests part of your team’s workflow might require some changes to your daily routine, but it will result in better code and better distribution of knowlegde. Let’s zoom in on that shall we? Experienced developers sometimes have the tendency to think they write great code while the

I’ve been blogging for 10 years now, starting with a simple opinion on UML. In those 10 years, I’ve had productive and less productive years, in regards to writing. Recently, I’ve had the pleasure of getting involved in HitSubscribe (by Erik Dietrich and his wife Amanda), allowing me to combine something I like with an advancement for my career. Here’s a recap of what I have already published. For Submain, I wrote an article titled Commented Out Code Is Junk

I’ve been programming for more than 10 years now, and only recently heard about Primitive Obsession. I’ve been guilty of this now and then. But I’ve also written/extended a library that tackles exactly that. Primitive Obsession is the use of primitive data types (i.e. strings, integers, doubles, etc.) for simple tasks, instead of using small objects. Examples are currency, phone numbers, postal codes, etc. Why would you not use primitive types for this? Surely a simple concept like a postal

A while ago, I had to explain, not for the first time in my career, why using interfaces, having loosely-coupled code, and writing tests (first) is a good idea. Time and again, I find developers, teams and companies resisting certain ideas that have been around for years or even decades. One of the reasons often stated, is novelty. An idea, principle or technology is refused because it is new and who knows what the next thing will be. Better to

A long time ago, I once read about how true democracy is impossible, but that shouldn’t stop us from trying to achieve it. Actually, it might have been a text about anarchism. I can’t remember. And it was probably more eloquently put, but I want to take that “quote” and change it to: While perfect code is impossible to achieve, we should continuously work towards it I was reminded of this quote when a fellow developer told us he had