|
|
|
|
|
|
|
Frustration |
|
|
|
|
|
|
|
|
|
|
Gregory Morris, 1/7/08 12:31:54 pm |
|
|
|
|
|
|
|
|
|
|
|
|
Ya know what sucks? Being tasked with taking someone's old stovepipe application and rewriting it from scratch, while maintaining backwards compatibility with the database, and mimicking existing functionality. The goal is a noble one... to make the application more maintainable by moving from poorly written (ugly hacks on top of ugly hacks) PHP code to clean, modular, .Net. I'm sure that anyone who has been in the software business for more than a few months has faced similar problems.
The frustration comes in as you dig deeper into the project.
From the onset, you know it is going to be ugly. You come up with a clean and practical design, taking into account every possible problem that could conceivably pop its head up later on. You have dug through the code, and resolved any business logic inconsistencies. You have gone through the database, and come up with a good object map. You have a plan for dealing with user authentication which manages to stay relevant to a modern system, while not causing the sysadmins to rebuild the user information. You have determined how best to interface with the proprietary third-party systems.
Everything makes sense. Then you start coding, and the real problems start to surface. Each day you curse the name of the original developer. Scenarios:
--He wrote his own method to auto-increment the object IDs? Why the hell didn't he just let the database do it? Ack! There's no way to do that in .Net! It is going to set me back a whole week trying to recreate this!
--Whoever designed this database clearly knew nothing about databases. Hell, I'm amazed this guy knew how to breath out after breathing in.
--Its bad enough that all of the presentation control code is in one file. Apparently, that same file must have looked like a good place to put some of the authentication handling as well. Wait, a function by the same name exists in another file? But they are totally different? WHICH GODDAMN ONE ARE YOU USING!#$#@!$
--I love your the configuration management system... making a copy of the original file, and renaming it file.original1, file.original2, etc. That's f$@king brilliant. Well, I guess it doesn't crash as much as SourceSafe.
--Wait as second here, what's all this code? It doesn't look like it is called anywhere... Hmmmm. I just wasted an entire day trying to figure out code that isn't even used!
Update:SPELLING WORDS MORE THAN ONE WAY MAKES TRACING THROUGH CODE A SONOFABITCH! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| [Comments are closed after a month.] |
| < "Help for Robb" | "This Is Rich" > |
|
|
|