Posts

Showing posts from September, 2011

Into the mine shaft..

Image
I think we are all somewhat familiar with the concept of canaries in coal mines. As recently as 25 years ago, canaries were taken into coal mines as a way to detect poisonous gasses such as CO 2 and methane. The canary would sing all day long unless overcome by the gasses. At this point, the miners would realize their environment had become toxic and they would flee for their lives. Development teams sometimes find that they have a canary in their midst. This person seems to point out unseen dangers ahead based on the current path. The things that the canary sings about aren't really affecting the team, but he or she claims they will if not corrected. How do you know if you have a canary or a whiner? That is tricky. The best advice I have is to look to experience. Does the person have experience working with multiple teams in multiple environments? Has she experienced similar situations in the past? Does she give recommendations for alternate courses of action? Is she passionat...

Model View Presenter - A Path Forward from WebForms

Image
This post is a review of my September 10th presentation at Utah Code Camp . "So you read and hear about Test Driven Development, MVC Frameworks, Continuous Integration and the safety net provided by high levels of unit test coverage. But you work on a WebForms app that has been around since .NET 1.1. It has thousands of lines of code in the code behind classes and you know that isn't easy to test. How can you experience all of these wonderful things you read about? The Model View Presenter pattern is here to rescue you. We will discuss the purpose and structure of MVP as it is applied to WebForms. We will go through a demonstration of some relatively safe refactorings that allow you to start bringing your unruly code under test. We will then add tests using NUnit and Moq. We will wrap up the discussion with a road map from WebForms chaos through Model View Present into the promised land of the MVC frameworks." Having worked on ASP.NET web sites/apps since .NET 1.0 bet...

Premature Configurability Design Smell

Premature Configurability is making some aspect of your application configurable (or data driven) before anyone has ever asked for a change to that part of the system. This is a topic I have been contemplating for a while. I started writing this post at least 5 different times, but I was never satisfied with my results. Fortunately, Alex Papadimoulis of The Daily WTF recently presented on the topic at Code PaLOUsa and he said everything I wanted to say. He refers to the smell as Soft Coding. Please watch his presentation and read his post on the topic.