في لغة C++، يتم استخدام مصطلحين مختلفين لوصف الأسماء المستخدمة لتمثيل القيم في البرنامج وهما identifier و variable.
Identifier: هو اسم يتم استخدامه لتمثيل المتغيرات والدوال والمستندات والثوابت وغيرها من العناصر في البرنامج. يتم استخدام المعرفات في C++ لتحديد العناصر والإشارة إليها في الشفرة المصدرية.
Variable: هو نوع من المعرفات المستخدمة لتخزين القيم في الذاكرة، حيث يمثل اسم المتغير موقعاً في الذاكرة العشوائية. ويمكن تعريف المتغيرات باستخدام نوع البيانات المناسب، مثل int أو double أو char، ويتم تخصيص مساحة من الذاكرة لتخزين القيم التي يتم تعيينها له.
بالإضافة إلى ذلك، يجب الانتباه إلى أن المعرفات (identifiers) يجب أن تتبع قواعد محددة، مثل أنها يجب أن تبدأ بحرف أو شرطة سفلية (_)، ولا يمكن استخدام الرموز الخاصة باللغة كجزء من المعرف، وأنها حساسة لحالة الأحرف، بينما المتغيرات (variables) يجب تعريفها باستخدام نوع البيانات المناسب وإعطائها اسمًا يتبع قواعد المعرفات، ويتم تخصيص الذاكرة لها عند تشغيل البرنامج.
في لغة البرمجة C++، تعتمد الكثير من المجتمعات والشركات والمطورين على مجموعة من الاتفاقيات في تسمية المعرفات (identifiers) والمتغيرات (variables) والدوال (functions) والأنواع المعرفة (types) والثوابت (constants) وغيرها من العناصر المستخدمة في الشفرة المصدرية. تُعرف هذه الاتفاقيات بمصطلح "Naming Convention" أو "Convention Name"، وهي عبارة عن مجموعة من القواعد التي يتم الاتفاق عليها لتسمية هذه العناصر.
تهدف الاتفاقيات في التسمية إلى جعل الشفرة المصدرية أكثر قراءة وفهماً، وتساعد في تعزيز الاستدامة والصيانة وإعادة استخدام الشفرة في المستقبل. وعادةً ما تتضمن الاتفاقيات في التسمية الأساليب التالية:
1- CamelCase: تسمية المعرفات بتبعية الحرف الأول في كلمة ما باستثناء الكلمة الأولى، والتي يمكن أن تبدأ بأي حرف. مثال: firstName
2- PascalCase: تسمية المعرفات بتبعية الحرف الأول في كل كلمة منفصلة في الاسم، حيث تبدأ الكلمة الأولى بحرف كبير. مثال: FirstName
3- snake_case: تسمية المعرفات بفصل الكلمات المتعددة بعلامة التحتاني (_). مثال: first_name
4- ALL_CAPS: تسمية المعرفات بأحرف كبيرة فقط، وفصل الكلمات المتعددة بعلامة التحتاني (_). مثال: FIRST_NAME
يجب أن يتم اختيار اتفاقية التسمية التي تستخدمها الشركة أو المجتمع أو المشروع على أساس ما يناسبها، ويتعين اتباع هذه الاتفاقيات بدقة للحفاظ على الاتساق وتسهيل فهم وصيانة الشفرة المصدرية في المستقبل.