Inheriting code (that smells)

Josh: I am excited to be furthering the development of your tremendously popular website.  How may I gain access to the source control repository?
Customer: Give me a second... *You've got mail! - sourcecode.zip*

Wow, this isn't my ideal way of getting my hands dirty in a project.  But, this will be easy to fix.

Opening this .NET 1.1 ASP.NET app, I find three projects and no solution file.  Confused, I open the projects individually and realize there is a huge circular reference issue that was circumvented by compiling the projects seperately and then referencing their output assemblies. Yuck. There are also heaps of bugs in the code causing all sorts of unneeded memory usage that's causing the application to freeze and recycle several times a day.  Finally, I'm told that all of the latest features created for the site have been causing problems everywhere else.  I think it's time for a change.

After several weeks of unit tests, refactoring, SVN, and CC.NET configuration.

  • The site no longer crashes.
  • Features can be implemented faster and more effectively.
  • Source control provides a source history with much safer storage.
  • A new version of the site can be deployed with the click of a button.
 There is still a lot of work to be done.  But, I think this goes to show the power and reason for being agile. 

1 Comment

  • I would say the one thing that annoys me more than anything else is an asp.net site that doesn't take advantage of the fact that there is a compiler (classic asp called - they want their runtime only error checking back!). Believe it or not people actually embed database column names in the markup for their grid control - ahhhhh!

Comments have been disabled for this content.