http://www.perlmonks.org?node_id=722090


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 svn.ali.as, 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?