Project Fairdice
[Home] [Docs] [Users] [Gaming] [Crypto] [Devel] [Download] [Help]

Developers : Design

I have a feeling we really need a Wiki for this. Or at least a nice threaded mailing list archive.

Update: I have now created a wiki for developer discussion. The URL is:
http://fairdice.sourceforge.net/cgi-bin/discuss.pl?SoftwareDevelopment

Please read the 'how to use' link before editing and follow the guidelines for this particular wiki!

Architecture

Should we be going for a client-server setup? Or should it be something peer-peer?

Coding Standards

To be discussed when there are more developers on the team. I suspect we ought to have a project standard config file for an indent program, which must be applied to all .c and .h files before checkin.

Coding Reviews / Discussion

Being relatively new to C (I've done more Java, Perl, Python and LISP) there are a number of areas of the code I didn't go into in detail, in the cause of getting out a spike / an alpha version quickly that crypto reviews could play around with while the code base then gets done properly at industrial strength.
Memory
I tried to get DMalloc to work, and failed abysmally. I'd like to move most of the objects over to using a factory pattern that allows re-use and keeps track of the memory management for each object. Throw in making handlers more generic, and create a memory free handler for each object (perhaps in a parent wrapper). Suggestions?
Threading and Error handling
I don't know quite where I am going with signals and passing thrown errors between thread contexts. I've written some error handling code, but it is not widely used (I printf instead) pending working out how I actually want it to go. Suggestions?
User interface
While admittedly the user and host apps are just dummies, it would be nice to have a pair that actually have user interfaces and play a game, as a demonstration. Something that could be taken to gaming trade shows by the outreach team, and shown to non-technical people. Suggestions?


(TOP)(UP)