Round and round we go
So, for the better part of this week at work I took on the job of removing a major annoyance in our project. Previous programmers thought it a good idea to break up the project into as many smaller projects as possible. Sure, this has a benefit of allowing programmers to work on almost any part of the project without running the risk of working on the same piece of code. I never really understood that when I started here. I mean, it's not like we had a ton of developers. We had three. Another benefit of the modular design is it allows the project to grow easier.
Anyways, that's kind of not the point of this post. Over the course of development, different developers would just reference other projects dll's instead of taking the time to do it correctly. Each project was built independently so there weren't any red flags popping up warning of potential problems. As it turns out, the project became filled with circular references where one project referenced code in another, and that other project in turn referenced the first project. So long as there was an existing dll present, the projects would build just fine. The problem is that this type of setup prevents us from ever reconstructing the entire product from scratch.
To cut a long story short, now that I'm the lead developer I've decided to fix this problem. I've spent the better part of a week going through all the projects and removing these circular references by adding in delegates where necessary and moving code where appropriate. Needless to say, this has been a very tedious work week getting a lot of work done, but not much really accomplished. Now that it's complete though I feel a lot better about the stability of the code we have (not great, just better) since I can now rebuild the product again from source code if necessary without having to deal with the mind numbing problems previous developers caused by not taking the time to do things right in the first place.
Anyways, that's kind of not the point of this post. Over the course of development, different developers would just reference other projects dll's instead of taking the time to do it correctly. Each project was built independently so there weren't any red flags popping up warning of potential problems. As it turns out, the project became filled with circular references where one project referenced code in another, and that other project in turn referenced the first project. So long as there was an existing dll present, the projects would build just fine. The problem is that this type of setup prevents us from ever reconstructing the entire product from scratch.To cut a long story short, now that I'm the lead developer I've decided to fix this problem. I've spent the better part of a week going through all the projects and removing these circular references by adding in delegates where necessary and moving code where appropriate. Needless to say, this has been a very tedious work week getting a lot of work done, but not much really accomplished. Now that it's complete though I feel a lot better about the stability of the code we have (not great, just better) since I can now rebuild the product again from source code if necessary without having to deal with the mind numbing problems previous developers caused by not taking the time to do things right in the first place.
Labels: Frustrations, Programming

0 Comments:
Post a Comment
<< Home