Hello Jim, I'm curious. Would your tic tac toe game be for one player against the computer or simply for two players against each other? What objects do you envision for the game you are considering? Thanks, Bob ----- Original Message ----- From: "tribble" <lauraeaves@xxxxxxxxx> To: <programmingblind@xxxxxxxxxxxxx> Sent: Thursday, December 20, 2007 1:33 PM Subject: Re: How Do You Plan An OO Project? Hi Jim and Jamal and all -- When I was working on OO / C++, they had a popular language-independent technique for the OO newbies and beyond for designing an OO program from scratch. It was called CRC cards -- now pretty old, but as I remember it had some good ideas. (This was before OO design tools were available.) CRC i think stood for Classes, Responsibilities and contracts -- or if that is inaccurate please let me know. You would start with a very high level document describing in English what you wanted the program to do, and then run it through a program to extract all the words in the document, minus the common words like "and", "the", and the like. What you are left with are adjectives/adverbs, nouns and verbs etc. You then go through the adjectives and determine which ones are likely candidates for class names. The nouns are object names and verbs are methods. Now you grab a gunch of index cards and write a class name on each card, and determine by some nebulous process how they are related -- both in class hierarchy and content. You then write on each card the member methods and somewhere record contracts between classes of what is expected of each class, and which classes need to interact with which other classes. This will result in a huge spec of the program which can then be translated into code. I know of at least 2 books on using CRC cards, one of which I read, but honestly I have never used it myself. Still the thought process seemed interesting and plausible. Anyway, hope that helps. --le ----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx> To: <programmingblind@xxxxxxxxxxxxx> Sent: Thursday, December 20, 2007 3:02 PM Subject: Re: How Do You Plan An OO Project? Although some planning is helpful, the philosophy of dynamic languages and extreme programming with languages like Python is to dive into the coding, learn as you go along about the problem and users, and quickly adapt to respond to needs as they arise. I would advise against spending more than hour planning before starting the coding of the project you describe. Actually writing, testing, and debugging code will usually be more productive than planning in the same period of time. My two cents. Jamal On Thu, 20 Dec 2007 james.homme@xxxxxxxxxxxx wrote: > Date: Thu, 20 Dec 2007 11:50:51 -0500 > From: james.homme@xxxxxxxxxxxx > Reply-To: programmingblind@xxxxxxxxxxxxx > To: programmingblind@xxxxxxxxxxxxx > Subject: How Do You Plan An OO Project? > > > Hi, > I know how to write pseudocode for a procedure program. I had to do that > when I was learning Cobol. We used things called structure charts. I made > a > text version of my structure charts that was vertical. Then, I'd refer to > it when I was writing my procedures. > > Let's say I want to make an object oriented version of Tic Tac Toe. I > would > start with getting the rules to the game. Then, to figure out the objects > my program has and how they would behave, how would I write my plan? > > I have some related questions, but I'd like to save them for another > email. > > Thanks. > > Jim > > James D Homme, , Usability Engineering, Highmark Inc., > james.homme@xxxxxxxxxxxx, 412-544-1810 > > "Never doubt that a thoughtful group of committed citizens can change the > world. Indeed, it is the only thing that ever has." -- Margaret Mead > > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind