August 6, 2015

String.Empty Versus ""

If you’ve been in the .NET world for any length of time, you’ll eventually come across someone who claims String.Empty performs better than "". I was always skeptical of this claim because this scenario seemed like something the compiler could optimize. And because the .NET runtime manages string literals in an intern pool, my guess was they would both point to the same value. That’s what I suspected anyway but didn’t have any proof. Read more

February 17, 2015

A Shared Development Database is Bad...Very Bad

The software development group at my office has a shared database that developers connect to for their daily work. In the last few months, the number of developers has doubled, and the practice of using the shared database has not scaled well. It has caused frustration as members of one team make schema changes before another team can consume them. The resulting breakages has led to lost productivity. To make matters worse, the same database serves as a reference for the daily migration process. Read more

December 29, 2014

Code This, Not That - SpecFlow Edition

In 2007 a different kind of diet book was published that took a concise approach to making the right food choices. Readers of the book were presented with good and bad selections at popular restaurants and told why the good options were better than the others. Eat This, Not That! made changing your diet simple and realistic. No gimmicks like the Atkins diet or the current trend of cleansing. Just real options available in many restaurants. Read more

December 21, 2014

Lessons from 2014

2014 has been a fantastic year for me professionally. I spent the majority of the year working on a green field project with a great group of co-workers. I was the Scrummaster for a talented team and wrote a lot of Angular.js and Javascript. Ultimately the project was cancelled, and its members were merged into another group. While disappointing, it led me to a new opportunity as a Product Owner and lead architect for a team tasked with creating a test framework built on Specflow. Read more

October 10, 2014

Overusing Generics in .NET

Generic types were a great addition to C# 2.0, but they are occasionally overused. There are times where calling object.GetType() or passing the type as an argument are sufficient. A good example can be found in the Specflow source code. The TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods class contains a useful extension method CompareToInstance<T>() which takes a table of expected property values and compares them against an object. The generic type is completely unnecessary in this case. Read more

December 31, 2012

Lessons from the Past Year

As 2012 comes to a close, it’s time to look back on some of the things I’ve learned. During the past year, my focus has been on enterprise service development, and thanks to a talented software architect and co-worker Kelly Brownsberger, I feel much more confident with my development skills. Together we focused on re-architecting and refactoring large portions of an ordering service. Now, looking back, three lessons in particular have stuck with me and changed the way I develop software. Read more

© Joe Buschmann 2020