******************************************************************************
File Name   : software.txt
Description : Software standards.
******************************************************************************

In order to improve readability, I have followed a strict naming convention 
throughout the development of the mud.

******************************************************************************
Type naming convention
******************************************************************************

All defined types end with a "_t", indicating that they are user defined 
types rather than standard ones.  The only exception to this is 'bool'.

******************************************************************************
Variable naming convention
******************************************************************************

The codebase uses a form of hungarian notation to improve the readability of 
variables.  The naming convention is a type-dependent prefix followed by a 
capitalised variable name.  Note also that each word within the variable name 
is capitalised rather than using underscores (so it's "MyName" rather than 
"My_name").  For example, if you wished to declare a variable which was a 
pointer to a structure containing personal data about a player, you might call 
the variable something like "pstPersonalData".  The only exceptions to this 
are loop counters, which may be named 'i' and 'j'.

Storage class specifiers:

   s_  static
   r_  register

Type qualifiers:

   v_  volatile
   k   const

Type specifiers:

   v   void
   ch  char
   n   short
   i   int
   l   long
   f   float
   d   double
   u   unsigned
   st  struct/union
   e   enum (except for booleans, see below)

Others:

   b   bool
   a_  array
   fn  function
   b   bool
   p   pointer
   t   time_t
   s   string (rather than pa_ch!)
   sz  NULL-terminated string (most strings use this)

******************************************************************************
Function naming convention
******************************************************************************
Functions are capitalised in the same way as variables, but do not have any 
prefixes.