Some time back I really stirred the pot by telling a tale about two programmers: one used datasets and flat architecture and one used full architecture and domain models. In that tale, I made it seem like it was easier for the first developer to get something out the door. In this tale, we come back to the developers a year later. Mounds of functionality has been added and many changes have been made. One day the manager comes in and says “We’re converting our app from a desktop app to a web app. And the data will all come from Web Services.“. The two developers are stunned. But the second developer has a good object architecture and good layer segmentation. The task is a big one but in his/her case, only the UI and the direct db access portion of the DAL are changing. In the case of the first programmer, the task is so big that the current code is almost a complete loss.
There are pros and cons to every development method. But today’s developers must be of a different mindset. We must develop with the intent of creating ‘living code’. Code that can adapt to today’s rapidly changing environments. The only way we can do that is to develop good architectures, good OO skills and patterns and good segmentation. Refactoring is the only way to keep the code alive and growing. ‘Write once and live with it’ type code is no longer an option. We have to ‘write, reuse, refactor, extend’. If we don’t write it in such a way that we can reuse, refactor and extend, then we’re just wasting time.
JohnMarkHowell Twitter
Tweets by JohnMarkHowell-
Recent Posts
Archives
- August 2014
- July 2014
- January 2013
- December 2012
- November 2012
- August 2012
- July 2012
- June 2012
- May 2012
- March 2012
- February 2012
- January 2012
- December 2011
- August 2011
- June 2011
- February 2011
- January 2011
- December 2010
- October 2010
- September 2010
- July 2010
- May 2010
- December 2009
- September 2009
- August 2009
- July 2009
- March 2009
- January 2009
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- March 2008
- January 2008
- December 2007
- November 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- May 2005
Categories