====== Conventions for Identifiers ====== In a programming language, and **identifier** is a name associated with a user declared item in the program. This may include variables, constants, types, functions, or other items. There are two basic conventions that simplify program comprehension when creating identifiers. Identifiers name should be meaningful and should follow the formatting convention. ===== Identifier Formatting Convention ===== By correctly formatting an identifier, readers of the program are able to instantly determine the type of identifier they have encountered. ==== Variables ==== Variables names should begin with a lower case letter. If the name contains more than one word, each additional word should begin with an upper case letter. This is known as //camel case//. Examples of acceptable use: int price; float costToConsumer; double numberOfCars; Examples of unacceptable use: int size_of_house; double PAY_AMOUNT; ==== Named Constants ==== Named constants should be declared in all upper case letters, with the underscore seperating multiple words. Examples of acceptable use: const PI = 3.14149; const size_t MAX_ARRAY_SIZE = 20; const int NUMBER_OF_PEOPLE = 100; const string INPUT_FILE_NAME = "students.dat"; Examples of unacceptable use: const float Pi = 3.14; const string fileName = "hello.txt"; const int NUMBEROFSTARS = 2000; ==== Functions ==== Each word in a function name begins with an upper case letter. This is sometimes called camel caps. Examples of acceptable use: void Uppercase(string & word); int NumberOfLetters(string word); Examples of unacceptable use: string userinput(); ==== User Defined Types ==== When declaring user defined types use camel caps but end the name with a T. Examples of acceptable use: class SpeciesT { ... }; typedef unsigned char MonthT; Examples of unacceptable use: struct Person{ ... }; ===== Meaningful Identifier Names ===== One key to self documenting code is to make identifier names that makes the code more readable without comments. While //meaningful// is somewhat open to interpretation, programmers should strive to produce c identifier names that support clear interpretation of the code. Examples of acceptable use: int sizeOfInput; double totalWeight; Examples of unacceptable use: int a; float rotAng; One exception to this rule is for loop control variables which can be single letters, normally //i//, //j// ....