Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Coding for maintainability

by merlyn (Sage)
on Feb 16, 2006 at 19:18 UTC ( #530743=note: print w/ replies, xml ) Need Help??

in reply to Coding for maintainability

The first thing I'd do to make that more maintainable is refactor it all into a series of well-named minimized-coupling subroutines, no longer than 20-30 lines each, and ideally about 10 lines each. That'd also remove about 90% of the global variables, which are generally also a sign of fragile code.

The second thing I'd do is take that middle switch out of there, and capture the regularities with code, and the irregularites with data. I bet you wrote a lot of it with cut and paste, and that should always be a clue.

Let me repeat. Cut and paste is generally a clue that you're doing something wrong.

On a longer-term basis, factoring out some of that code for re-use might be useful, which would also make testing easier. But unless you're also doing some similar tasks later, that might be an expense with no payback.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

Comment on Re: Coding for maintainability
Replies are listed 'Best First'.
Re^2: Coding for maintainability
by Anonymous Monk on Feb 17, 2006 at 08:09 UTC
    Let me repeat. Cut and paste is generally a clue that you're doing something wrong
    or writing a throwaway

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://530743]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2015-11-26 20:21 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (707 votes), past polls