When writing code I think that it is important to keep in mind what type of code it is. Far too often, I see people writing very complicated structures without the need. I think that a reason for this is that the code was inspired from some library. Unless reading other people’s code for fun,… Continue reading Application Code vs Library Code
Author: Anders Abel
A Financial View on Software Development
I can’t tell how often I’ve been in a meeting with a financial manager, trying to explain the technical considerations of a project. To be honest, there have been times when it has been really, really hard to keep it technically simple enough, while still being accurate. That’s the lucky times. The bad times is… Continue reading A Financial View on Software Development
Features are Unimplemented By Default
Why does system X not include feature Y? That is quite a common question. I think that Eric Lippert has en excellent standard answer to that kind of questions on C# at Stack Overflow. Features are unimplemented by default; C# does not have that feature because no one designed, implemented and shipped the feature to customers. Being… Continue reading Features are Unimplemented By Default
Using and Disposing of WCF Clients
Designing an interface always requires careful considerations of how it will be used. Scott Meyers elegantly catches the entire problem in one sentence in his book Effective C++: Make interfaces easy to use correctly and hard to use incorrectly. The people at Microsoft who were in charge for the WCF client code generation either hadn’t read… Continue reading Using and Disposing of WCF Clients
Traversing Expression Trees
The Expression<T> data type which was introduced together with LINQ is interesting. When a Func<TResult> is wrapped in an Expression<T> the code is no longer completely compiled, instead it is preserved as an expression tree that can be traversed during runtime. This is what the method ExpressionHelper.GetExpressionText() that I used in my last post Type Safe SelectList… Continue reading Traversing Expression Trees