|
-
[Horse Thief]
Inheriting poorly programmed projects
Wasn't sure where to put this, so I picked the coffee lounge. Feel free to move it if there's a more appropriate location.
I've (reluctantly) inherited a very, very, *very* poorly programmed & very large project. If it was a horse, it would have been shot with a cannon. Or out of a cannon into space. Briefly, *some* issues:
Inconsistencies, bad practices, poor naming conventions, illogical code communication, binding of graphics & code (using custom MovieClip Base Classes), duplicated code, a complicated mixture of OOP & TimeLine Procedural programming, & inefficient use of elements by making them not dynamic - to say the least.
While I have to perform intermittent updates to it, I've also been tasked with writing up a document that explains how it works. But I don't KNOW how it works, it's a MESS!! When I have to work on it, it's basically just frustrating trial & error mixed with random guessing. Even during the hand-off meeting with the original developer, there was a lot of him saying "Umm, I don't really remember what that does, I'm not sure what this is, let's skip this part, & that part....".
I am by no means a newbie to Flash or programming, but I'm also led by managers who know ABSOLUTELY NOTHING about the web, let alone programming. I've tried to explain that explaining a crapFest such as this is impossible - not because it's beyond my skill level, but because it is just absolute & total garbage, & should be destroyed, or at least left alone & never touched again. But they just keep saying:
"We want you to explain it in case you leave & we hire someone new".
"I didn't build it & I don't really know how it works because it's horrendously developed."
"We want you to explain it in case you leave & we hire someone new".
"Wait, are you listening to me?!"
"We want you to explain it in case you leave & we hire someone new".
"Do you know ANYthing about programming?! How did you EVER get this job?!? You know it's not simple Point-&-Click, right? It's not a frickin' WYSIWYG! Wait, do you know what a WYSIWYG is?!"
"We want you to explain it in case you leave & we hire someone new".
It's like if someone who knew NOTHING about aeronautics built a Jumbo Jet with a complicated cockpit, then asked an experienced pilot to explain it to a sewer rat. No matter how experienced the pilot is, he's not going to be able to explain "made-up" crap to anyone, let alone understand it himself.
Here's what I feel like, represented by code:
Code:
private const APPLICATION_IS_CRAP:Boolean = true;
private function explainApplication():void
{
for (var i:int=0;i<1;i++)
{
if (APPLICATION_IS_CRAP == true)
{
tellManagerItIsCrap();
i--;
}
}
}
private function tellManagerItIsCrap():void
{
explainApplication();
}
explainApplication();
What can I do? Other than finding a job where people actually know what they're doing, how to manage, & how to trust their employees??
I suppose there is no answer, I just needed to vent. I should start looking for another job.....
1 Infinite Loop, Cupertino is a portal of Hell.
-
Total Universe Mod
Meh, join the club of intermediate developers. They all work for someone who's seen too many movies with hackers in them. You're issues are not new.
Now that I've done it, I recommend everyone strive to get a job working for other programmers. I've never had a better working environment. Ever.
Still, a steady pay check and job security are nothing to complain about. This project clearly needs to be scrapped and rebuilt from scratch. I'd recommend using robot legs to do so. You need to impress upon your employers the value of having black boxes over power kegs. Be as redundant as they are.
And you can certainly diagram the call stack regardless how bad the code is. Using standard UML is probably out of the question but a flow chart of some sort will only help your employers understand how vital a rebuild is.
-
Senior Member
Seem like even if you are able to explain, they wont be able to understand too.
Last edited by Flashock; 01-27-2011 at 10:44 PM.
Reason: typo error
Probably the best web hosting Company in Singapore
Make A Name On The Web™
-
supervillain
I hate it. In fact, I'm right there... right now.
And it makes me want to never develop a damn thing ever again. In retaliation, I headlocked a random person.
Seriously.
-
Dignitary
I deal with this alot as well and I have learned to handle a little easier by looking at each project and trying to create some tangible arguments for either simply rebuilding all or parts of an application instead of re-coding what is already there.
First of all you can argue depriciation. Is this as2? Will this integrate with systems that are newer and better technologies? Does it integrate with current systems? Does it jive with future IT and BIS projects? Will someone other than you with your skills be able to easily edit it 3-5 years down the line?
We recently upgraded all our old web servers from IIS5 to IIS6 and foud that in many cases it was just easier and more efficient if you looked at long term to re-write alot of our apps to work in a different environment.
Get the managers thinking about these things, maybe a realistic timeframe for upgrading the current app or starting from scratch.
Use the term "version" and "upgrade" alot they seem to like that as well.
ie: "After bringing the current application as it stands through our maintanence assesment process we recommend a full upgrade to a version 2.0 to keep in line with present and future system requirements."
Second you can argue that it cannot be documented correctly.
In your case:
"How am I to document this application when even the original programmer doesn't even understand how it works?"
If the programmer is no longer with the company:
"I know how I would do it and I could document that but I am not able to clearly understand what was going through the mind of the last programmer."
-
anyone else hear that?
Certainly have run into that myself. On some larger projects, it certainly makes sense to scrap it and draw up an extensive design document, diagram the elements and re-develop. Especially since AS3 came along. It doesn't make sense to create a large project without doing this...unless, of course, the client comes to you with an unreasonable deadline, makes changes mid-project and makes development decisions that change how you code it...not that it would ever happen that way...
If they do let you re-code it, be sure to review this page:
http://www.freevbcode.com/ShowCode.Asp?ID=2547
Love like you've never been hurt, live like there's no tomorrow and dance like nobody's watching.
-
Dignitary
 Originally Posted by flashpipe1
This was both hilarious and good advice!
-
I really know exactly what you are currently battling against... I have been fighting the same fight for about 5 years now... inheriting complex projects written by numerous junior level programmers (who themselves were probably given no direction).
I have always managed to cope with it in the past but the time has come now whereby I have decided to go in search of pastures greener (and by that I mean go it alone!)... having just got completely fed up of it, and feeling like I every day I sit in the same job my creativity is getting drained out of me having to deal with all these ridiculous problems.
Oh, and I can fully sympathise with being managed by a *senior management team* who have a complete lack of understanding of the project in hand. Grrrrrr.
Anyway, here's to the future! Who knows what it holds!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|