Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re^6: RFC: RPG ;-)

by pobocks (Chaplain)
on Nov 07, 2008 at 02:26 UTC ( [id://722138]=note: print w/replies, xml ) Need Help??


in reply to Re^5: RFC: RPG ;-)
in thread RFC: RPG ;-)

Thanks.

On a side note... would it be worthwhile to do the interface as a module, and perhaps first implement a simpler text-based UI, with support for dropping in the TK GUI later?

I have some idea of how I'd go about it... I'm more trying to decide if it's worthwhile.

for(split(" ","tsuJ rehtonA lreP rekcaH")){print reverse . " "}print "\b.\n";

Replies are listed 'Best First'.
Re^7: RFC: RPG ;-)
by TGI (Parson) on Nov 07, 2008 at 02:36 UTC

    Do some kind of layered design. Something along the lines of MVC as practiced in web development. Put all the logic that loads and stores data in one layer. Put the code that decides what can be done with the data in another layer. The final layer will display the data.

    Your display code talks only to the control code, and your data code talks only to control.

    By separating all this stuff out, it makes it easy to change UIs. It also makes your code easier to write tests for.

    There has been some discussion of how to organize a big gui app here. A bit of supersearching should turn it up.


    TGI says moo

Re^7: RFC: RPG ;-)
by dragonchild (Archbishop) on Nov 07, 2008 at 19:57 UTC
    Why build it to be a drop-in replacement right now? You don't even know what kind of datastructures you're going to have. You're overthinking this. Literally just get something so stupidly basic it sounds like it won't be useful for anything out there right now. Then get the next version out there 7 days later. And the next 7 days after that. And so on and so forth. Linux 0.01 didn't have a windowing system - it barely booted up an x86 processor.

    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

      I think you're right to some degree, although I still want to have a little more planned out in terms of high level things (basically an overall goal to work towards (to be amended as needed) and a roadmap (to be amended as needed)).

      I figure I'll be ready to set up the git repo sometime mid next week.

      for(split(" ","tsuJ rehtonA lreP rekcaH")){print reverse . " "}print "\b.\n";

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (4)
As of 2024-04-25 12:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found