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

Re^2: Splitting program into modules (Divide And Conquer)

by LanX (Cardinal)
on Nov 12, 2018 at 14:01 UTC ( #1225637=note: print w/replies, xml ) Need Help??

in reply to Re: Splitting program into modules
in thread Splitting program into modules

> 14000 lines of working code is no joke. Why bother refactoring?

Such monster are mostly full of bugs because maintenance becomes impossible if you've lost the overview.

Let's be generous and assume 100 lines of code and clutter per function in average. That'll mean 140 functions...

... divide this by 5 or 10 or 15 ...

> K.I.S.S.

D.A.C.D. °

Splitting up into smaller units, included with do or require is pretty safe˛ ...

and will add

  • far better overview already.
  • easier POD-Documentation
  • better control over global vars
  • granulated revision control by changing single files instead of a whole bundle
  • easier deployment
  • more efficient testing
and I haven't even talked yet about the possibilities to improve this code further like described in my first post.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

°) Divide and conquer, Dumbo!

˛) file scoped lexicals must be in the same file like the functions they access

  • Comment on Re^2: Splitting program into modules (Divide And Conquer)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2020-08-14 19:22 GMT
Find Nodes?
    Voting Booth?
    Which rocket would you take to Mars?

    Results (76 votes). Check out past polls.