In computer programming, a name collision is the nomenclature problem that occurs when the same variable name is used for different things in two separate areas that are joined, merged, or otherwise go from occupying separate namespaces to sharing one. As with the collision of other identifiers, it must be resolved in some way[a] for the new software (such as a mashup) to work right.[1] Problems of name collision, and methods to avoid them, are a common issue in an introductory level analysis of computer languages, such as for C++.[1]
The term "name collision" has been used in computer science for more than three decades, when referring to names in various classification systems.[2]
There are several techniques for avoiding name collisions, including the use of: