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 رحلة في عالم البرمجة: إتقان أساسيات البرمجة وتطبيقاتها باستخدام لغة C++ https://www.youtube.com/playlist?list=PLmOrGO9IfJEcDyuBLOX5AzAqaKxmAKHrq # الفصل 0 : تمهيد
أسماء في C++. نسمّي متغيّراتنا حتى نتمكن من تذكرها والإشارة إليها من أجزاء أخرى من البرنامج. ما الذي يمكن أن يكون اسماً في C++؟ في برنامج C++، يبدأ الاسم بحرف ويحتوي فقط على حروف، أرقام، وتسطير أسفل. على سبيل المثال:
التاليون ليسوا أسماء:
عندما نقول "ليست أسماء"، نعني أن مترجم C++ لن يقبلها كأسماء. إذا قرأت كود النظام أو الكود المُنشأ بواسطة الآلة، قد ترى أسماء تبدأ بتسطير أسفل، مثل foo. لا تكتب هذه الأسماء بنفسك؛ هذه الأسماء محجوزة للكيانات التنفيذية والنظامية. بتجنب استخدام التسطير الأسفل في البداية، لن تجد أسماءك تتعارض مع أي اسم أنشأه التنفيذ. الأسماء حساسة لحالة الأحرف؛ أي أن الأحرف الكبيرة والصغيرة متميزة، لذا x و X هما اسمان مختلفان. هذا البرنامج الصغير يحتوي على أربعة أخطاء على الأقل:
عادةً ما يكون من غير الجيد تعريف أسماء تختلف فقط في حالة الحرف، مثل one و One؛ ذلك لن يربك المترجم، لكنه قد يربك المبرمج بسهولة. جرب هذا قم بتجميع برنامج "Goodbye, cruel world!" وفحص رسائل الخطأ. هل وجد المترجم جميع الأخطاء؟ ما الذي اقترحه كمشاكل؟ هل ارتبك المترجم وشخص أكثر من أربعة أخطاء؟ قم بإزالة الأخطاء واحدًا تلو الآخر، بدءًا من أول خطأ لغوي، وانظر كيف تتغير (وتتحسن) رسائل الخطأ. لغة C++ تحتفظ بالعديد من الأسماء كمفاتيح، مثل if، else، class، int، و module. يمكنك العثور على قوائم كاملة على الويب (مثل cppreference.com). لا يمكنك استخدام هذه الأسماء لتسمية متغيراتك، أنواعك، دوالك، إلخ. على سبيل المثال:
يمكنك استخدام أسماء المرافق في مكتبة المعايير، مثل string لمتغيراتك الخاصة، لكن لا ينبغي لك ذلك. إعادة استخدام مثل هذا الاسم الشائع سيسبب مشكلة إذا أردت يومًا ما استخدام مكتبة المعايير.
عند اختيار أسماء لمتغيراتك، دوالك، أنواعك، إلخ، اختر أسماء ذات معنى؛ أي، اختر أسماء تساعد الأشخاص على فهم برنامجك. حتى أنت ستواجه صعوبة في فهم ما يجب على برنامجك فعله إذا ملأته بمتغيرات بأسماء "سهلة الكتابة" مثل x1، x2، s3، و p7. يمكن للاختصارات والأحرف الأولى من الكلمات أن تربك الناس، لذا استخدمها بحذر. كانت هذه الاختصارات واضحة لنا عندما كتبناها، ولكننا نتوقع أن تواجه صعوبة في فهم واحدة على الأقل:
نتوقع أنه بعد بضعة أشهر، سنواجه نحن أيضًا صعوبة في فهم واحدة على الأقل. الأسماء القصيرة، مثل x و i، تكون ذات معنى عند استخدامها بشكل تقليدي؛ أي، يجب أن يكون x متغيرًا محليًا أو وسيطًا ويجب أن يكون i مؤشرًا في حلقة. لا تستخدم أسماء طويلة جدًا؛ فهي صعبة الكتابة، تجعل السطور طويلة بحيث لا تتناسب مع الشاشة، وصعبة القراءة بسرعة. هذه الأسماء ربما تكون جيدة:
هذه الأسماء ربما تكون طويلة جدًا:
أسلوبنا هو استخدام التسطير السفلي لفصل الكلمات في المعرف، مثل element_count، بدلاً من البدائل مثل elementCount و ElementCount. نحن لا نستخدم الأسماء بالحروف الكبيرة بالكامل، مثل ALL_CAPITAL_LETTERS، لأن ذلك مخصص تقليديًا للتعاريف، والتي نتجنبها. نستخدم حرفًا كبيرًا في البداية للأنواع التي نعرفها، مثل Square و Graph. لغة C++ ومكتبة المعايير لا تستخدم أسلوب الحرف الكبير في البداية، لذا هو int بدلاً من Int و string بدلاً من String. وبالتالي، فإن أسلوبنا يساعد في تقليل الارتباك بين أنواعنا وتلك القياسية. تجنب الأسماء التي يسهل كتابتها بشكل خاطئ، أو قراءتها بشكل خاطئ، أو الخلط بينها. على سبيل المثال:
الأحرف 0 (صفر)، o (حرف O صغير)، O (حرف O كبير)، 1 (واحد)، I (حرف i كبير)، و l (حرف L صغير) من المحتمل أن تسبب مشاكل بشكل خاص. |