Going into a new code base
I had a chance at DevTeach to just take an hour and start looking at a large code base. I made the claim several times in the past that no matter the quality of the developers and the quality of the code base, there is no way someone can just sit down on a code base and start working on that.
I tried to grok the code without help, and I failed. I could probably do that, but it would take several days. That was especially true since it was in Windows Forms, and that is not a field that I have done much at. Not knowing anything about the actual domain was a big issue as well.
After about 30 minutes of sitting down and going over the code with the developer, I got a whole new level of understanding about the application. How it works, how the structure is built. I look at a test and can work how this is used, etc.
I still have very little knowledge about that application works, but after 30 minutes, I am confident in my ability to both grok the code and work with it. In fact, after getting the introduction to the code base, I can say that this is probably one of the better code bases that I have seen.
One of the more interesting parts was that when I looked at each class, it was when I took a step back and looked at the interactions it gotten really interesting.
It was a pleasure to read the code.
Comments
Hmmmm... I'm always looking for well-written WinForms code samples. Is this codebase open source so that the public could access it? Did it follow any of the MVC / MVP patterns (or their variants)? Did it use NHibernate or any of the tools/libraries that are near and dear to you?
It used a lot of very interesting stuff, but it is not public.
You can get a really good win form implementation from the story teller code
Have you try NDepend to discover a new code base?
This 3mn screencast explains how to use NDepend to get into a code base.
http://s3.amazonaws.com/NDependOnlineDemos/UnderstandCode_viewlet_swf.html
Comment preview