Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: OT: Rewrite or Refactor?

by nmerriweather (Friar)
on Sep 01, 2006 at 04:50 UTC ( #570726=note: print w/replies, xml ) Need Help??


in reply to OT: Rewrite or Refactor?

I think the largest problem you've probably had is that the application is in mod_perl

I love mod_perl- i develop in it extensively - but if you have legacy mod_perl code, I bet thats probably the scariest f'ing thing in the world. the design patterns people used in mod_perl 5-10 years ago are just plain frightening

now, i'm not sure if this would be a strangler method or not, but this is what i would do:

i'd spend some time designing a whole new application. i'd make it 100% modular and extensible, easy to upgrade, easy to extend.

i'd create an abstraction layer using an ORM like Rose::DB::Object ( i usally hate them, but in this case, i think it makes sense ) to map new objects onto the extisting database (and vice versa). with a little bit of smoke and mirrors, you can get your object classes talking to two very seperate database models, but with the same user interface.

then, bit by bit, I'd migrate sections from the old system onto the new one- as they're built

in essence, I'd rewrite your system , but do it in a manner that is more in-line with refactoring.

Replies are listed 'Best First'.
Re^2: OT: Rewrite or Refactor?
by badaiaqrandista (Pilgrim) on Sep 02, 2006 at 01:40 UTC

    Thanks for your suggestion. I take it that your suggestion is related to the database restructuring.

    i'd create an abstraction layer using an ORM like Rose::DB::Object ( i usally hate them, but in this case, i think it makes sense ) to map new objects onto the extisting database (and vice versa).

    I have a good enough database abstraction layer. Do you mean I need to create another abstraction layer? Or I only need to make the layer to deal with two database models? I am more inclined to database refactoring when thinking about database restructuring.

    I don't know about the scariest f'ing thing stuff. This is my first professional experience so I don't know any better. I just learn as I go, and perlmonks has been the one that helps me to get to this point. So this rewrite/refactoring is exciting, challenging, and scary at the same time.

    Thanks

    -cheepy-

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2020-10-19 15:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (204 votes). Check out past polls.

    Notices?