stevieb has asked for the wisdom of the Perl Monks concerning the following question:
Hi all,
This is really a design philosophy question more than Perl, but since Perl is what I write in...
I'm a one-man wrecking crew on what began as practice. It's a project that now has 12 modules, and ~70 methods. The goal from the start was to ensure that I could script everything, but put a web GUI on top of it (plugin), so that staff could use it as well.
I feel like the GUI is becoming too large a part of the project. The more code I write, the longer my tests get. I'm putting more core logic into the GUI than I should be. For instance, I've tried to keep everything within an objective programming style, and this is how things would work:
my $client = ISP::User->new( $username ); my $plan = $client->get_plan( $plan_id ); my $transac = ISP::Transac->create_transac( \%data ); $transac->sanitize(); $transac->renew( \%data, $plan, $quantity );
...although an example, it's close to reality. However, I've never done programming at the level or scope that this project is becoming, so with the implementation of the GUI, my tests are requiring more 'logic' code built in.
What I'd like to ask the Monks is thus:
What literature (ie: books, whitepapers or docs) and/or feedback would help a budding rookie get a better feel for design strategies? I'm looking for tips on how to identify when a function should become two functions. Is it when a function can't be displayed on a single screen? Is it when it can't be modified to handle any more 'edge cases'?
How can I get better at forseeing my end layout, when all I have is an idea?
Steve
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Looking for help with design philosophy
by pemungkah (Priest) on Sep 02, 2009 at 00:16 UTC | |
by stevieb (Canon) on Sep 02, 2009 at 05:39 UTC | |
|
Re: Looking for help with design philosophy
by BrowserUk (Patriarch) on Sep 02, 2009 at 06:31 UTC | |
by stevieb (Canon) on Sep 02, 2009 at 12:56 UTC | |
|
Re: Looking for help with design philosophy
by ssandv (Hermit) on Sep 02, 2009 at 19:45 UTC |