Category Archives: Coding

“Friend” classes, C#, and encapsulation

Ran into an interesting situation today: Client-server application A class representing domain data that is used by both client and server assemblies — so that’s three assemblies: One for the data class One for the server class (uses the data … Continue reading

Posted in Coding, design, Software | Tagged , | Leave a comment

Premature Optimization, or just not Wasteful?

I completely agree with the prevailing wisdom that optimization should only follow a demonstrated need for it. All smug and self-assured I code away merrily until I run into a situation that makes things all messy and complicated… Here’s the … Continue reading

Posted in Coding, Uncategorized | Tagged | 1 Comment

The Power and Pain of Automated Tests

At my current shop we are relying very heavily on automated regression testing; unit, integration, system, anything we can automate. We also measure our code coverage during test runs as one way of monitoring their thoroughness. They’re also peer-reviewed. All … Continue reading

Posted in Coding, Software, Testing | Tagged | Leave a comment

Counting Code

The notion of counting lines of code is often dismissed as unhelpful in telling us anything substantive about the code. I think there are a whole bunch of reasons behind this attitude (fodder for other posts), but one of the … Continue reading

Posted in Coding, Programming languages, Software | Tagged , | Leave a comment

Coding is Not Engineering

As you may have gleaned by perusing some of my other posts, I’m kind of a stickler when it comes to words. Words are the basic tools we use to understand things and shape the way we think about them. … Continue reading

Posted in Coding, design, Software | Tagged | Leave a comment

Where is your Garbage Garage?

I live in a pretty good neighborhood and get to know it by running around in it most mornings. It’s nice — for the most part. But there are these places. Houses slightly in need of a paint-job with two-car garages and … Continue reading

Posted in Coding, design, Software | Leave a comment

Interfaces Increase Complexity

I like C# interfaces, as well as interface-based programming, proxies, stubs, and all the other interesting ways they can be used. However, as with many trends and fads in our industry, I think the use of interfaces has gotten a … Continue reading

Posted in Coding, design, Software | Tagged , , | Leave a comment