Slashdot Mirror


Learning and Maintaining a Large Inherited Codebase?

An anonymous reader writes "A couple of times in my career, I've inherited a fairly large (30-40 thousand lines) collection of code. The original authors knew it because they wrote it; I didn't, and I don't. I spend a huge amount of time finding the right place to make a change, far more than I do changing anything. How would you learn such a big hunk of code? And how discouraged should I be that I can't seem to 'get' this code as well as the original developers?"

7 of 532 comments (clear)

  1. It depends on the language by $RANDOMLUSER · · Score: 5, Funny

    If it's Perl or VB, you might want to consider self-immolation as a first step.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    1. Re:It depends on the language by chill · · Score: 5, Funny

      No, he meant that as an actual offering to the Perl God, Quetzal$@[&shift]L. It's a bloodthirsty god, who never sends the Divine Debugger without at least two pints of the red stuff. I would have immolated a coworker, but the parent poster seems to have been alone in the room :-/

      The fact the above comment is +5 Informative and not +5 Funny makes me very glad I stopped programming in Perl when I did.

      --
      Learning HOW to think is more important than learning WHAT to think.
  2. Hunt down the original developer by Anonymous Coward · · Score: 5, Funny

    (And then shoot him.)

    1. Re:Hunt down the original developer by ottothecow · · Score: 5, Funny

      shouldn't that be more like shoot(huntdown(first(developers)))?

      --
      Bottles.
  3. Re:30 to 40 thousand lines isn't large by any meas by istartedi · · Score: 5, Funny

    Very well, sir. Here's your 40,000 lines of Perl from the late 90s. It's mostly regex to parse revisions 30 through 451 of our in-house provisioning system. Oh, and BTW don't screw up like the last guy who had this job. He provisioned 32767 customers with tier-1 service, and it was the director's job to explain why we either had to let them have it for the remainder of the year, or else deal with the CR issues.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  4. You don't. You find out what the software did by Colin+Smith · · Score: 4, Funny

    And then you re-implement it in the latest language.

     

    --
    Deleted
  5. Re:30 to 40 thousand lines isn't large by any meas by benjamindees · · Score: 5, Funny

    Perl is like the matrix. At a certain point, after you've stared at it long enough, it all just makes sense.

    --
    "I assumed blithely that there were no elves out there in the darkness"