Naming Data ------------------------------------------------------------------------ General Naming Considerations * Does the name fully and accurately describe what the variable represents? * Does the name refer to the real-world problem rather than the programming-language solution? * Is the name long enough so that you don't have to figure it out? * Are qualifiers, if any, at the end of the name? * Does the name use Count or Index instead of Num? Naming Specific Kinds of Data * Are loop index names meaningful (something other than i, j, or k if the loop is more than one or two lines long or the loop is nested)? * Have all "temporary" variables been renamed to something more meaningful? * Are boolean variables named so that their meaning when they're True is clear? * Do enumerated-type names include a base that indicates the kind of the type, e.g. Color for ColorRed, ColorGreen, etc.? * Are named constants named for the abstract entity they represent rather than the number they refer to? * Naming Conventions * Does the convention distinguish between local, module, and global data? * Does the convention distinguish between type names, enumerated types, named constants, and variables? * Does the convention identify input-only parameters to routines in languages that don't enforce them? * Is the convention compatible with standard conventions for the language as much as possible? * Are names formatted for readability? Short Names * Does the code use long names unless it's necessary to use short ones? * Does the code avoid abbreviations that save only one character? * Are all words abbreviated consistently? * Are abbreviations limited to standard abbreviations? * Are names pronounceable? Are names that could be mispronounced avoided? * Are short names documented with translation tables? Common Naming Problems: Have You Avoided ... * ... Names that are misleading? * ... Names with similar meanings? * ... Names that are different in only one or two characters? * ... Names that sound similar? * ... Names that use numerals? * ... Intentionally misspelling a name to make it shorter? * ... Names that are commonly misspelled in English? * ... Names the conflict with standard library routines or pre-defined variables? * ... Totally unrelated names? * ... Hard-to-read characters? ------------------------------------------------------------------------ Copyright © 1996-1998 Construx Software Builders, Inc.