Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re^3: RFC: RPG ;-)

by dragonchild (Archbishop)
on Nov 06, 2008 at 22:39 UTC ( #722090=note: print w/replies, xml ) Need Help??

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

Take your time and don't feel the pressure. It's a lot easier to edit than create.

I do definitely want to collaborate with people on this... but I also feel like I need to have SOMETHING that I made that's remotely functional before I bring people in.

That's like cleaning the house before the maid comes to clean the house. Think about it.

Now, if you're worried about losing control or creative direction, then the best solution is to get a Git repository (from github) or SVN (from, for example) and just allow people to check into their branches. You are the only person to merge into the trunk. That way, at least at first, everything has to be reviewed by you. This also has the neat benefit of you reading everyone else's code and having the ability to ask them questions. You'll learn a lot. :-)

Don't worry about system rules - remember, those are going to be mutable. And, what you write first isn't what the user is going to see first. In fact, it's very likely that what you write for 0.01 won't make it into 1.00. Well, those specific lines of code won't, but what's built from them will.

Lastly, and I cannot stress this enough, you have to work in small chunks. Otherwise, how on earth are you going to be able to test them? In just those tiny pieces of functionality I mentioned, there's at least a 3-1 test LOC to code LOC (Lines Of Code). It's only going to get bigger from there. Think about it.

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?

Replies are listed 'Best First'.
Re^4: RFC: RPG ;-)
by pobocks (Chaplain) on Nov 06, 2008 at 23:52 UTC

    Very good points.

    It is a bit silly, isn't it?

    I think you're right... I'll set up a git repository and get this out there as soon as I get design and requirements stuff better thought through. And if I end up controlling the trunk for merging purposes, that pretty much means I have to get to where I can understand anything that gets merged in, which can only help with learning.

    for(split(" ","tsuJ rehtonA lreP rekcaH")){print reverse . " "}print "\b.\n";
      . . . as soon as I get design and requirements stuff better thought through.

      *smiles* You know you need to be able to create and manage characters. All characters have, at the least, a name. Just get that up and running. Managing to adequately test a Tk application is going to be tough enough to set up without worrying about a bunch of features. Don't over-design. You have a well-defined, if very minimal, deliverable, so deliver it already! :-)

      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?


        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";

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://722090]
[Corion]: I think I should define a set of (say) five projects through which I rotate from time to time, just to prevent myself from being bored/annoyed by the problems they get stuck in ;)
[marto]: Corion, not bringing the kids would make it ideal :P
[marto]: a suggestion, have one project in the list that isn't programming/perl related
[Corion]: marto: Yeah, things are more parent-friendly the way they are ;))
[marto]: some hardware/makey thing
[Corion]: marto: Ah, I'm currently drifting to that again, over"painting" (well with Inkscape) one of my photographs and thinking about vectorizing some other images ...
[marto]: Corion, yes something 'artistic', so that or some music. Even combine some things, build a musical instrument :)
[Corion]: marto: Naah, I'm avoiding that rabbit hole ;) Sometimes I think of using Perl to create MIDI to generate music, or at least the harmonies to which I could jam, but then that would eat even more into available time ;-))

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2017-07-27 07:47 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (404 votes). Check out past polls.