I’m having such a great time dealing with lazy code. Check out these gems I’ve found just today …

var periodError 
    = string.Format(
        "The Survey Return does not contain a valid Reporting Period");

Why format something that with no parameters? I changed the code to this:

var periodError 
    = "The Survey Return does not contain a valid Reporting Period";

Here’s another good one:

var periodError
    = string.Format(
        "Specified period {0} does not match the expected period {1}.",
        surveyReportingPeriod.ToShortDateString(),
        aReportingPeriod.ToShortDateString());

Let’s completely avoid the format specifiers and convert everything to strings manually. I changed it to this:

var periodError
    = string.Format(
        "Specified period {0:d} does not match the expected period {1:d}.",
        surveyReportingPeriod,
        aReportingPeriod);

What I’m finding really frustrating is that I know the developer who wrote this code, and he’s a smart guy who writes good code most of the time.

Upon reflection, I’d suggest that this code is less important for the actual errors, and more as a reminder that we all can make those errors, even (or especially) those of us who think we’re pretty good at what we do.

Comments

blog comments powered by Disqus
Next Post
Specialist Classes  22 May 2010
Prior Post
Simplicity  19 May 2010
Related Posts
Convention testing for immutable types  30 Nov 2019
Modifying Words, Part the Second  16 Nov 2019
Modifying Words, Part the First  09 Nov 2019
Hashcodes  26 Oct 2019
Code Gardening  19 Oct 2019
Nullable types redux  12 Oct 2019
C# 8 and .NET Core 3.0  28 Sep 2019
Commands and CommandBinding  21 Sep 2019
Debugging word selection  14 Sep 2019
ViewModel Subscriptions  31 Aug 2019
More csharp posts »
Archives
May 2010
2010