Home > Misc > Fixing other people's code

Fixing other people's code

September 22nd, 2006 Leave a comment Go to comments

I just had to refuse the second job offer this year where I would have to fix somebody else’s written ActionScript 1 spagetti code! I don’t know what is the reason for agencies trying to give such jobs but it’s save to say that the troubles of digging through the messy and often timeline-spread code is enough to justify an estimate that sounds too high for the client.

The question comes up why they don’t just ask the person who originally wrote the code! That could have many reasons but if a client comes back to me and asks me to fix something in a years old project then I’ll do it for a measly payment simply because I know my source code. It’s a total different thing to fix somebody’s code, especially if it’s pre-AS2.
I always feel uncomfortable rejecting jobs, even such ones so I would be interested how others handle this situation! Do you usually reject such jobs or do you accept them?

Categories: Misc Tags: ,
  1. September 22nd, 2006 at 14:02 | #1

    JXL’s 3 Step process

    1. Accept job.
    2. Re-write code.
    3. Loathe former developer.

  2. September 22nd, 2006 at 14:08 | #2

    Jester, about step 2: Please define ‘re-write’ and how does your estimate look for this? If you say re-write do you mean re-write all of it to your style? About step 3: Yes, I can second that! ;)

  3. September 22nd, 2006 at 14:17 | #3

    lol. i think a lot of us these days won’t even take as2 projects anymore.

    don’t feel bad.

    it’s in their best sense to start migration of their projects to future technology, not old technology.

  4. September 22nd, 2006 at 15:11 | #4

    dan, if you are in no need to take AS2 jobs anymore, you might be among the more popular Flash Coders! I don’t mind getting AS2 jobs though AS3 would definitely be more interesting. But AS1 is such a pain in the butt now, no price on earth can justify the headaches for me.

  5. architect
    September 22nd, 2006 at 16:38 | #5

    Oh man! I was hired by a guy from Czeck republic to work on a freaking code his noobie developer from Slovenia made. I was soooo in need of cash that i took the damn thing.
    At the end he paid me for just 20 hours of work, and the rest 120 hours or so is still not paid..

    Bottom line->working on as1/as2 mix and remain unpaid. Probably the worst developer story in Flash.

  6. Markus
    September 22nd, 2006 at 17:52 | #6

    I’m not snobbish about as1, as2 or as3 – I’ve see a lot of good and much more bad design in all of them.
    As long as it is fairly paid – I often like the additional challenge of puzzling out the “other’s” approach. (And feeling “superior” without beeing arrogant isn’t that bad.)

    On the other hand it is true that often redoing stuff from scratch is more efficent than glueing something very broken.

    Remark:
    Sometimes I’m under the impression that those who despise AS1 so much just are not aware of its powers and elegance in certain situations, especially with interactive animations. If those favor the power of OO so much, they probably dont understand, that MovieClips work very well as autonomous object, if done right. And the timeline is a powerfull tool to control graphics and animaion and much more intuitive than anything “real” OO has to offer.

    But I do understand that often it is not very apealing to take on such a job – as most clients just don’t understand how much work is involved.

  7. September 22nd, 2006 at 18:09 | #7

    I fix other people’s code only if the project is small. But a complex AS1 project that somebody else has written is probably the worst thing that could happen. I turn those projects down unless the client is prepared for a total rewrite a la JXL.

  8. September 22nd, 2006 at 20:02 | #8

    I don’t see the benefits of fixing someone else’s code, other than the money which probably won’t be as much as from original work.

    These days I try to avoid jobs that aren’t good for my portfolio or r d.

    A complete different thing is working with a colleage to fix or optimize his code. I find that quite rewarding. But life’s too short to waste it converting keyframes into classes.

  9. September 23rd, 2006 at 00:48 | #9

    *shudder*

    No thanks. I don’t blame you for turning it down. If it’s not a small chunk of sample code to illustrate a concept then I prefer to stay away from AS1 completely. And these days I don’t even like having to work through the IDE for applications – FlashDevelop for the win, thank you very much. =)

    Unfortunately, just because something is AS2, you’re not assured of having a good, readable code base. ^_^

  10. September 23rd, 2006 at 01:24 | #10

    In my experience the reasons that we recieve RFQ’s on others work is due to business requirements. Many of our customers require at least a 3 bidder process. Sole sourcing jobs are left for the really huge contractors. So these other vendors quote on it and might come in lower and purchasing chooses them as price is everything these days. Sometimes the original developer is moved on, too busy, the rfq winner used a sub contractor and dind’t pay for the source(my favorite), or the relationship is bad in some way. The mayjority of my daytime work is some how connected to using someone else’s code. Our customers also use the simple existance of the code no matter how bad or outdated as a way to force the price down-words like “spinoff”, “75 % already done” are red flags as often it’s a total teardown. But that’s why new vendors are bidding on stuff-they reduce cost by simply quoting.

  11. September 23rd, 2006 at 02:16 | #11

    Sasha, there is no estimate. Experience has shown me that you:

    – spend more time, with more stress, trying to make someone else’s spaghetti satisfy the requirements than simply rewriting it

    – you end up with more maintable code, and thus a more extensible base for future projects

    – the next developer doesn’t rue judgement day

    The only hard part is justification and CYA. One slight slip-up in schedule and you can potentially be viewed as an elitist, a bad decision maker, and non-pragmmatic.

    …hence me becoming a Flex developer to get away from the above insane dichotomy.

  12. Raphaël
    October 3rd, 2006 at 02:22 | #12

    I think you follow the wrong way when u talk about the qualities of AS1 or 2. The quality of an application comes from the developpeur.

    Remember our parents who begun writing code in assembler…
    I’m on a project which bring me to improve and develop old AS1 project with 15 000 lines. The code isn’t well build and write.

    I’ve learned few month ago the basic of AS2 in the book of colin mook “the best of AS2″. It gave me many good idea to improve AS1 code conception. Like doing unic objects which contains data and methods. These objects can rule the program and give limit, authorisation, they make check on the parameters. For example i build a sort of class which create scroll bars, keep a list of them, keep a list of the content to scroll and the mask which let appear the content in a window. All the methods are in this Object. If i want for what ever reason to close all the scroll bar, i just have to create the method on this Object. So all this story is to show u that it’s possible to write a very good AS1 code better than the average of AS2 code. The only problem is the difficulty of the AS1 to build a very big project and to re-use the best classes. But i told u again that AS1 is very good for average and litlle project which need reactivity and speed to deliver. The quality of an AS1 project is infinite. The people who don’t agree could ask them selves if the problem isn’t in their way of conception and maybe AS2 force them to build solids programs, that’s why they beleive that it’s very much better.
    Sorry for the bad english, i’m french
    rbenzazon@prestimedia.com

  13. LEE
    November 5th, 2006 at 14:14 | #13

    state your terms.

    Explain that you’ll charge less to ditch the old code and start fresh with your set of proficient technology languages. VALUE your time appropriately, set your price higher than you feel comfortable with setting, slightly even. You have to be prepared to walk away from EVERY gig, ESPECIALLY something that isn’t 100% what you want to spend your life doing. Personally I’d rather bag groceries that do certain specific types of work.

  14. LEE
    November 5th, 2006 at 14:16 | #14

    Personally I’d rather bag groceries than certain Flash projects. Especially if the project is with a company that doesn’t properly value their Flash needs.

  15. Raphaël
    November 6th, 2006 at 06:58 | #15

    Hi,

    Upper i said that the AS1 code could be very well built and efficient. But i know since i learned AS2 basics that the new version of my product will be all written in AS2. I doesn’t mean that i will always write in AS2, if someone ask me a very simple application, i’ll write it in AS1 cause it’s very fast to develop.
    bye

  16. November 8th, 2006 at 08:00 | #16

    What can I say more, everybody on his way through job experience met this kind of offers, and I can add that the worst code was from france:) no offence. I had lot of offers from there and it was painfull, so much, that I just had to rewrite the code almost all the time, and it wasn’t helpful that i know little bit of french, cheers.

  1. No trackbacks yet.
You must be logged in to post a comment.