Fail Fast Principle

There are 3 keys ways a developer usually approaches error handling in code. Ignore Fail Safe Fail Fast We have, at different point of writing code, used all three approaches. There are times when have good reasons to ignore a particular exception scenario, while at other times, we are opt for Fail Safe approach. Fail … Continue reading Fail Fast Principle


StarFish Retrospective

"At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly" - 12th Principle, Agile Manifesto It doesn't need any explanation why Retrospectives are important in any scrum team. Question is, how can we make Retrospective Sessions more effective. I was in conversation with a friend recently … Continue reading StarFish Retrospective

Mutation Testing

Even with TDD, the quality or coverage of the existing Unit Tests are always a concern for the developer. "Have I done enough ?" That's one question that haunts him throughout. Mutation Testing is a structural testing method that attempts to add more value to Unit Tests by aiding in identifying the 'misses' in Unit … Continue reading Mutation Testing

Design Patterns : Template Method

The purpose of a Template Method Pattern is to define the skelton of an algorithm, while deferring the exact steps to sub classes. There is plenty of literature on the internet detailing the pattern, so we will skip it and head right to the code. As always, lets begin by defining the contract interface, in … Continue reading Design Patterns : Template Method

Design Patterns : Chain of Responsibility

The intend of Chain of Responibility Pattern is to avoid coupling the sender of a request to its reciever by giving more than one object change to handle the request. Let's try to mimic the execution of classical Waterfall Model with CoR. Let's begin by declaring the contract interface. And our sub classes. The final … Continue reading Design Patterns : Chain of Responsibility

Design Patterns : Fascade Pattern

Fascade, name being an analogy to an architectural fascade, intends set the tone for the entire functionality by providing a simplified yet effective interface wrapping away the complex, pooly designed collection of APIs. Wrong Code Consider following set of Classes.   The Client Code could be As you can see, the Client class is invoking … Continue reading Design Patterns : Fascade Pattern

Caliburn.Micro Template Pack

Reworked on the Caliburn.Micro Template Pack recently. Thought it was necessary to provide the developers the ability to Create Bootstrapper as an Item Template. It also provides the option to develop the Pack more in coming days. You can access the Template Pack from Marketplace using the link here. Details of the pack is as … Continue reading Caliburn.Micro Template Pack