sfeldman.NET

.NET, code, personal thoughts

  • BDD - AND Specifications

    The current project I am involved in, we are using BDD style of testing, where our specifications (tests) are both designing force and documentation for the implementation. One of the interesting cases we are running into, is when we need to express some complex conditions. For example

  • Pragmatic Approach – Avoid Premature Optimizations

    Today, while Mike Hesse and I were working on one of the tasks, we had to implement logging capabilities. Log4Net was the component we abstracted and used to achieve the result. Though logger our code could not know ahead what class would use it, so this is what we put in place:

  • Agile Stickies Board


    While we are not yet in the era of "Minority Report", a regular White Board and stikies are good 25022009100enough. This is how we started on our current project - the classic way. An interesting observation I've made while going through several attempts to track the progress of a project at several companies - an attempt to "modernize" stickies and get rid of the board. Ways are multiple, from virtualization of the board, to going back to a file based tracking (Excel/Word).

  • Am I Agile? No. Will I Be? Yes.

    Being a developer for 8 years, I went through the classic path of a green newbie knowing nothing, to a more mature developer aware of the flaws, till the current stage where I realize that I wasted too much time on too many things that are not important, when important things are not new and shiny, but old and proved by the time. Waterfall, Spiral, Agile – all titles, what I want to share is the experience I had for the past a year+.

  • C# in Depth

    imageFinished reading "C# in Depth" by Jon Skeet. Good reading, especially if you have to  catch up from C# 1.0 or 2.0 to the latest 3.0. The other one I would like to read now will have to be a mix of this book (without 1.0/2.0 materials) and the excellent "CLR via C#" by  Jeffery Richter.

  • Switching IoC Container with LINQ Expressions

    Several last projects I used a simple IoC container, leveraging Activator.CreateInstance(type). The main reason - simplicity. Once there was a need to go to a higher level, I would switch to Windsor Container. One of the projects used Unity. The only issue was that I would always have to do some customization to my container (or DependencyResolver), which is nothing but a static gateway.