Just over six years ago I was working on a project with a team of developers who were new to the .NET platform. The project was to develop what was essentially a CRM system optimised for the processes of a utility company. I was involved only in the first phase of the project where we were charged with delivering the backbone of the solution including some framework components to assist development moving forward.
Because it was .NET 1.0 we didn’t have all of the features which meant we built more scaffolding than you would these days. It wasn’t too bad but you never know when building this kind of stuff whether it is going to come back and bite you in the future.
This week I visited the same client on a related piece of work and got the opportunity to see what had become of the code base that we created all those years ago. Surprisingly the architecture hadn’t eroded too much and had been well maintained. Going through the code I was able to spot bits and pieces that I had written all those years ago as my knowledge of how it all hung together came flooding back.
Fortunately because the structure had been kept in tact it is going to be a straight forward process to bring the code-base into Team Foundation Server (from Visual SourceSafe) which is my current scope of work.
It is a good day when you can look at code you wrote six plus years ago and not look at it with horror. The big thing I would do though is collapse a large number of assemblies into just five or six (there are about 100+ assemblies in the overall system). Back then it made sense to maintain modularity, but the dependency management is a bit tricky.