Constant and variable naming conventions

It is considered good programming practice to name constants and variables with meaningful names. In order to augment the purpose of each constant or variable with its data type and even to know whether it's a constant or a variable without haveing to stop and check each one, a general naming convention is followed, as shown in the table below.

Starts withExample Means it is aLocated in
ccFlags_nRFCHAR variable SRAM
cszcszCHAR ASCIIz string variable SRAM
bbFlags_nRFBYTE variable SRAM
wwAnalogInput0WORD variable SRAM
ululRandomValue1UNSIGNED LONG variable SRAM
bPtrbPtrNextOp>pointer to a BYTE variable SRAM
wPtrwPtrDestpointer to a WORD variable SRAM
szszBufferpointer to an ASCIIz buffer SRAM
ssWallClockSTRUCTURE variableSRAM
uuVarsUNION variableSRAM
EEbEEbSystemModeBYTE variable EEPROM
EEwEEwCOM1_xBPSWORD variable EEPROM
EEptrEEptrSeqConfigpointer to an SRAM variable EEPROM
EEfptrEEfptrSequence1pointer to a FLASH variable EEPROM
CSZCSZ_MasterPWCHAR ASCIIz constant string FLASH
AACSZ_Versionconstant Address of a variable or constant   -
SISI_nRFStatusStructure Index constant -
BITBIT_RTC_ENABLEBIT constant defined within a BYTE-
-DISCRETE_INPUT_1  constant-

Additional notes:
   CHAR means a SIGNED 8-bit variable or constant
   BYTE means UNSIGNED CHAR (8 bits)
   INT means a SIGNED 16-bit variable or constant
   WORD means UNSIGNED SHORT INT (16 bits)
   LONG means SIGNED LONG INT (32 bits)
   ASCIIz means an NULL-terminated ASCII character string
   Pointers are 16-bit addresses to locations in SRAM, EEPROM or FLASH memory
   Names that are all uppercase generally refer to a constant or data type.
   "Sentence" means 16 BYTEs.
   "Paragraph" means 256 (= 0x100) BYTEs.