الفريق العربي للهندسة العكسية
2.8 أسماء في C++ - Names - نسخة قابلة للطباعة

+- الفريق العربي للهندسة العكسية (https://www.at4re.net/f)
+-- قسم : منتديات البرمجة - Programming Forums (https://www.at4re.net/f/forum-5.html)
+--- قسم : البرمجة بلغة السى و السى بلس بلس ++C & C (https://www.at4re.net/f/forum-17.html)
+--- الموضوع : 2.8 أسماء في C++ - Names (/thread-4024.html)



2.8 أسماء في C++ - Names - R333T - 19-05-2024

[صورة مرفقة: dark.jpg]

رحلة في عالم البرمجة: إتقان أساسيات البرمجة وتطبيقاتها باستخدام لغة C++

https://www.youtube.com/playlist?list=PLmOrGO9IfJEcDyuBLOX5AzAqaKxmAKHrq


# الفصل 0 : تمهيد # الفصل 1 : # الفصل 2 : 


أسماء في C++.

نسمّي متغيّراتنا حتى نتمكن من تذكرها والإشارة إليها من أجزاء أخرى من البرنامج.
ما الذي يمكن أن يكون اسماً في C++؟
في برنامج C++، يبدأ الاسم بحرف ويحتوي فقط على حروف، أرقام، وتسطير أسفل.

على سبيل المثال:
x
number_of_elements
Fourier_transform
z2
Polygon


التاليون ليسوا أسماء:
2x // يجب أن يبدأ الاسم بحرف
time@to@market // @ ليس حرفاً، رقماً، أو تسطير أسفل
Start menu // المسافة ليست حرفاً، رقماً، أو تسطير أسفل


عندما نقول "ليست أسماء"، نعني أن مترجم C++ لن يقبلها كأسماء.
إذا قرأت كود النظام أو الكود المُنشأ بواسطة الآلة، قد ترى أسماء تبدأ بتسطير أسفل، مثل foo.

لا تكتب هذه الأسماء بنفسك؛ هذه الأسماء محجوزة للكيانات التنفيذية والنظامية.
بتجنب استخدام التسطير الأسفل في البداية، لن تجد أسماءك تتعارض مع أي اسم أنشأه التنفيذ.
الأسماء حساسة لحالة الأحرف؛ أي أن الأحرف الكبيرة والصغيرة متميزة، لذا x و X هما اسمان مختلفان.


هذا البرنامج الصغير يحتوي على أربعة أخطاء على الأقل:
import std;
int Main()
{
STRING s = "Goodbye , cruel world! ";
cOut << S << '\n';
}


عادةً ما يكون من غير الجيد تعريف أسماء تختلف فقط في حالة الحرف، مثل one و One؛ ذلك لن يربك المترجم، لكنه قد يربك المبرمج بسهولة.

جرب هذا
قم بتجميع برنامج "Goodbye, cruel world!" وفحص رسائل الخطأ.
هل وجد المترجم جميع الأخطاء؟ ما الذي اقترحه كمشاكل؟ هل ارتبك المترجم وشخص أكثر من أربعة أخطاء؟ قم بإزالة الأخطاء واحدًا تلو الآخر، بدءًا من أول خطأ لغوي، وانظر كيف تتغير (وتتحسن) رسائل الخطأ.

لغة C++ تحتفظ بالعديد من الأسماء كمفاتيح، مثل if، else، class، int، و module. يمكنك العثور على قوائم كاملة على الويب (مثل cppreference.com). لا يمكنك استخدام هذه الأسماء لتسمية متغيراتك، أنواعك، دوالك، إلخ.
على سبيل المثال:
int if = 7; // خطأ: if هي كلمة محجوزة


يمكنك استخدام أسماء المرافق في مكتبة المعايير، مثل string لمتغيراتك الخاصة، لكن لا ينبغي لك ذلك. إعادة استخدام مثل هذا الاسم الشائع سيسبب مشكلة إذا أردت يومًا ما استخدام مكتبة المعايير.
int string = 7; // هذا سيسبب مشاكل



عند اختيار أسماء لمتغيراتك، دوالك، أنواعك، إلخ، اختر أسماء ذات معنى؛ أي، اختر أسماء تساعد الأشخاص على فهم برنامجك.
حتى أنت ستواجه صعوبة في فهم ما يجب على برنامجك فعله إذا ملأته بمتغيرات بأسماء "سهلة الكتابة" مثل x1، x2، s3، و p7. يمكن للاختصارات والأحرف الأولى من الكلمات أن تربك الناس، لذا استخدمها بحذر.
كانت هذه الاختصارات واضحة لنا عندما كتبناها، ولكننا نتوقع أن تواجه صعوبة في فهم واحدة على الأقل:
mtbf TLA myw NBV


نتوقع أنه بعد بضعة أشهر، سنواجه نحن أيضًا صعوبة في فهم واحدة على الأقل.
الأسماء القصيرة، مثل x و i، تكون ذات معنى عند استخدامها بشكل تقليدي؛ أي، يجب أن يكون x متغيرًا محليًا أو وسيطًا ويجب أن يكون i مؤشرًا في حلقة.
لا تستخدم أسماء طويلة جدًا؛ فهي صعبة الكتابة، تجعل السطور طويلة بحيث لا تتناسب مع الشاشة، وصعبة القراءة بسرعة. هذه الأسماء ربما تكون جيدة:
partial_sum element_count stable_partition


هذه الأسماء ربما تكون طويلة جدًا:
the_number_of_elements remaining_free_slots_in_symbol_table


أسلوبنا هو استخدام التسطير السفلي لفصل الكلمات في المعرف، مثل element_count، بدلاً من البدائل مثل elementCount و ElementCount.
نحن لا نستخدم الأسماء بالحروف الكبيرة بالكامل، مثل ALL_CAPITAL_LETTERS، لأن ذلك مخصص تقليديًا للتعاريف، والتي نتجنبها.
نستخدم حرفًا كبيرًا في البداية للأنواع التي نعرفها، مثل Square و Graph.
لغة C++ ومكتبة المعايير لا تستخدم أسلوب الحرف الكبير في البداية، لذا هو int بدلاً من Int و string بدلاً من String.
وبالتالي، فإن أسلوبنا يساعد في تقليل الارتباك بين أنواعنا وتلك القياسية.

تجنب الأسماء التي يسهل كتابتها بشكل خاطئ، أو قراءتها بشكل خاطئ، أو الخلط بينها. على سبيل المثال:
Name names nameS foo f00 fl f1 fI fi


الأحرف 0 (صفر)، o (حرف O صغير)، O (حرف O كبير)، 1 (واحد)، I (حرف i كبير)، و l (حرف L صغير) من المحتمل أن تسبب مشاكل بشكل خاص.




 nice