A few months ago my primary client asked me to take over a project that had been developed in-house. I’ve spent some time since then getting acclimated to the project, fixing some high-priority bugs and am now beginning to look at truly taking ownership of the codebase. As part of that I’m looking at trying out some new tools to help. Thanks to the folks at Telerik for giving me a copy of their tools (JustCode, JustTrace, JustDecompile, and JustMock) to kick the tires on. I’m also using Visual Studio 2013. To a certain extent, using a whole new toolset (I have previously used DevExpress’ CodeRush, which I still love but I wanted to try something new to see if there’s something better) is going to slow things down, but the client is OK with that and I’m looking forward to it. Things may get a little confusing as I try to figure out whether something new is VS2013 or Telerik, but I’ll do my best to keep them straight.
To make things even more interesting, the code is ALL VB.NET, which I haven’t coded in for…well…I’ve never coded VB.NET. I’ve done VB6 and its predecessors but never VB.NET. I think that’s the part that’s giving me more grief at the moment. Reading VB.NET is easy, but the muscle memory in my fingers is way too used to typing C#. Someone should just create a VS plugin that automatically deletes the semicolons from the end of your lines if you’re in VB.
One last point to make…this is also NOT a SharePoint project. It’s a straight .NET/SQL Server web application which is kinda cool and I’m looking forward to really flexing my (somewhat rusty) “regular” programming muscles a bit.
To give you an idea of what I’m up against, I snapped this little screenshot before I started:
Yikes! Nearly 1500 problems to take care of. Some of it is stupid like not following naming conventions, but some of it is serious:
- No separation of layers – data, business and UI code all freely intermingled
- No/minimal object use
- No stored procs – SQL statements directly in the code
- Hundreds (if not thousands) of lines of repeated code (copy/paste programming at its best)
- No unit tests
- Some of the code I can’t even run if I’m not on the client’s network to get access to resources
- Easily 15% of the total lines of code is commented out old code that is no longer used
I’ll be posting articles over the next few months as I whip this codebase into shape. Some of it will be tool-related as I test out Telerik and VS2013, some of it will be rants and some of it will be about the code itself.Tags Development