Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Coding for maintainability

by merlyn (Sage)
on Feb 16, 2006 at 19:18 UTC ( [id://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.

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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://530743]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (1)
As of 2024-07-21 04:23 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.