March 2006

published: Sat, 4-Mar-2006   |   updated: Fri, 5-Aug-2016

Here are the articles that were published in March 2006.

Double-Casting Anti-Pattern

There's a coding anti-pattern in C# that's very prevalent but inefficient. I'm going to guess its popularity is due to the fact that most C# developers have come to C# from a non-managed code language, such as C++ or Delphi. I'm referring to the double-casting anti-pattern. Read more...

ctodx

Tomorrow is a big day for me. A very big day. Why? I start a new job, new as in it'll be for another company, and new as in I've never really done this particular kind of job before. Read more...

Refactoring != Rewriting

It seems simple enough to me. Martin Fowler spent a long time (as did his contributors and reviewers) to make sure that Refactoring: Improving the Design of Existing Code was a supremely useful reference book as well as a treatise on how to do refactoring well. And, blimey, did they do a bang-up job or what? It's da bomb, in the current vernacular. Every time I open it, I find something new. I've even reread the initial chapters on how to refactor several times and I already feel that it's time to do so again. So why the *&#% do some developers treat the word "refactoring" to mean "rewriting"? Read more...

Writing Criticism

For the last five years or so, I've written technical stuff. I've written about algorithms and data structures, about software development methodologies, about programming languages and design patterns and frameworks. Every now and then I write about something that captured my imagination and had to find out about. I'm a mathematician morphed into a computer scientist, who happens to like writing. Read more...

Object encapsulation and properties

I'm sure we can all rattle off the three tenets of object-orientation without even thinking about it: encapsulation, inheritance and polymorphism. Easy-peasy. I'm sure we could, without even the slightest sheen of sweat appearing on our brow, knock off a quick description of what they mean as well. So why don't we pay attention to them when we write some object-oriented code? Read more...