Yeah, you read that right. We’re gonna break some rules!
Category Uncategorized
Extreme DRYness
I ran across an interesting scenario at work today that I think merits some discussion. In this post, I’ll cover what DRY is, and when following it religiously may actually cause problems.
Local Functions, At It Again
I thought I got out everything during my rant about the new C# features, but apparently I missed something… Continue reading “Local Functions, At It Again”
Breaking Changes
Today we’re going to talk about breaking changes in libraries. Specifically, we’re going to answer the following:
- What constitutes a breaking change?
- How can I avoid making breaking changes?
- When is a breaking change a good idea?
- How do I indicate that a new version contains a breaking change?
Eliminating Hard Dependencies
You found it! After many hours of scouring the internet, you’ve finally discovered the library that does precisely what you need. Except… it has a dependency… on a package that your architect has declared unfit for your company. Continue reading “Eliminating Hard Dependencies”
Hide Your Secrets
In the last post we discussed why it could be preferred to expose all of your methods publicly. However, I deliberately left something out. Some of you may have noticed. Continue reading “Hide Your Secrets”
Handling Errors from Plug-ins
Before we get into today’s topic, I have some sadness to report. My beloved Dallas Stars were eliminated from the NHL playoffs. Also, my favorite player, Trevor Daley, who now plays for the Pittsburgh Penguins, has suffered a broken ankle and will not be able to play in the Stanley Cup games. Happily, if the Penguins win the Cup, he’ll still get his name engraved on its holy base!
Anyway, enough of that. Let’s get on to software.
Last time we built a very simple pluggable program where each plugin provides a translation of the string Hello, World!
Today, we’re going to explore some of the problems inherent in our approach. Continue reading “Handling Errors from Plug-ins”
Architecture Always Applies
I recently ran into an issue with Nuget packages. At work, we have a private Nuget repository for code that we’d like to share across applications. It’s mostly common frameworks, like configuration and logging.
Continue reading “Architecture Always Applies”
SRP (where available)
I was watching WALL-E with my children the other day… Okay, I’ll be honest. I put on WALL-E for my children the other day, then watched it with my wife while both of our kids ran around the house all crazy-like. Anyway, the movie was on, and the final scene struck a chord with me. It shows a shot of the earth with a hazy cloud of satellites surrounding it. Continue reading “SRP (where available)”