مواصفات ترميز دلفي المؤلف: توليبس تاريخ التحديث: 16 ديسمبر 2003 المحتويات 1. الأصطلاحات العامة (التسمية - المسافة البادئة والمسافات - الهوامش - حالة الأحرف - التعليقات) 2. العبارة (ابدأ...انتهى العبارة-إذا كانت العبارة-بيان الحالة-للبيان-بينما العبارة-تكرار العبارة-مع عبارة معالجة الاستثناء) 3. الإجراءات والوظائف (التسمية والتنسيق - المعلمات الشكلية - المتغيرات - النوع - الأنواع المخصصة) 4. الغرض من صياغة معايير الترميز المتعلقة بالكائنات (تسمية الفئة وتنفيذ طريقة تنسيق المجال والملكية) هو تمكين مجموعة من المبرمجين من إنشاء كود من نفس النمط، بحيث يمكن للفريق تشكيل والحفاظ على أسلوب معين. إذا تم تحقيق هذا الهدف، فستبدو ملفات المشروع بأكملها وكأنها مكتوبة بواسطة مبرمج. الخير ممتع، ولكن الميزة هي أن كود كل مبرمج يسهل على الآخرين فهمه، مما سيؤدي إلى تحسين قابلية صيانة الكود بشكل كبير وبالتالي تقليل تكاليف الصيانة. هذا هو الوضع المثالي لأي فريق. بالنسبة للأفراد، فإن اختيار معيار الترميز أو إنشاؤه ذاتيًا والالتزام به يمكن أن يؤدي أيضًا إلى نتائج جيدة. بالمناسبة، هذا هدف مغرٍ للغاية، ولكن ليس من الصعب تحقيقه. كل لغة برمجة لها معايير الترميز الخاصة بها، ويمكن القول أن معايير الترميز هي ملخص للخبرة، ويجب علينا أيضًا أن نتعلم من معايير لغات البرمجة الأخرى. لذلك، من المهم جدًا أن نتعلم من الآخرين. ثانيًا، استخدام معايير الترميز يهدف إلى تبسيط عمل المبرمجين، ومعنى "التبسيط" ليس تقليل كمية التعليمات البرمجية (على العكس من ذلك، فإن اتباع المعايير في كثير من الأحيان سيجلب المزيد من التعليمات البرمجية)، ولكن تقليل مهمة المبرمج. العمل في الحفاظ على الكمية. البرمجة مهمة معقدة للغاية، ومن الصعب التعامل مع العلاقات المختلفة، وهناك ارتباط وثيق بين العلاقات المختلفة. يجب على المبرمجين قضاء معظم طاقتهم في التعامل مع العلاقات وتجنب إضاعة الوقت في قضايا مفصلة للغاية. إذا تمكن من فهم فكرة البرنامج وبنيته في لمحة سريعة، فسيتم تشكيل خطة الصيانة بسرعة. علاوة على ذلك، يجب أن يكون معيار الترميز معيارًا سهل الاستخدام للغاية يمكنك الرجوع إليه وتعديله، ولكن يجب أن يكون سهل الاستخدام. ولكن في المجموعة، تأكد من أن الجميع يستخدم نفس المعايير. البرمجة هي وظيفة مرنة للغاية فقط مع التفكير المرن والتطبيق المرن يمكن الحصول على نتائج جيدة. بالإضافة إلى ذلك، فإن استخدام المواصفات يهدف إلى تقليل عبء الذاكرة على المبرمجين إلى حد كبير. قدرة الإنسان على التفكير ممتازة للغاية، لكن الذاكرة ضعيفة للغاية، فنحن نواجه أجهزة الكمبيوتر طوال اليوم، وأهم ما تريد مساعدتنا في القيام به هو الذاكرة. ولذلك، فإن أحد أهدافنا هو تعظيم مزايا التفكير للمبرمجين. أخيرًا، أدوات البرمجة لها تأثير كبير على معايير الترميز، وهذا التأثير يأتي من أسلوب برمجة المطور. استنادًا أيضًا إلى C++، لن نستخدم بالضبط نفس مواصفات الترميز في Microsoft Visual C++ وBorland C++ Builder. لدى Microsoft وBorland أساليب مختلفة ومتميزة للغاية. كمستخدمين، يمكننا إجراء تغييرات بناءً على ذلك، ولكن هناك حدود. في الواقع، عندما نختار البائعين وأدوات التطوير، فإننا نحدد أيضًا أسلوبنا المستقبلي. 1. الاصطلاحات العامة 1.1 التسمية المبدأ الأساسي للتسمية هو أن الاسم يجب أن يعبر بوضوح عن وظيفة البيانات. يدعم Object Pascal أسماء الملفات الطويلة. يجب أن تستخدم الأسماء الأفعال أو الأسماء أو مزيجًا من الاثنين معًا. يجب ألا تستخدم الكلمات المحجوزة والكلمات الأساسية المحددة في دلفي، وحاول عدم استخدام الكلمات المحجوزة والكلمات الأساسية المحددة في لغات أخرى. حاول استخدام كلمات كاملة وتجنب الاختصارات والبادئات واللاحقات أو الشرطة السفلية أو الرموز الأخرى. لا يُنصح باستخدام التسميات المجرية. يتم استخدام اصطلاحات التسمية لضمان سهولة قراءة الأسماء. لقد طورت معايير التسمية التي تمثلها التسميات المجرية العديد من البادئات واللاحقات للإشارة إلى نوع البيانات أو نطاقها أو غيرها من السمات المختلفة. في دلفي، يمكنك بالتأكيد استخدام هذه الطريقة، ولكن هذه ليست طريقة موصى بها. أحد الأسباب هو أن هذا النوع من اصطلاح التسمية يجلب الكثير من مهام الذاكرة الإضافية، وسبب آخر يتم تحديده من خلال خصائص دلفي نفسها. سوف يقوم فحص النوع الإلزامي في دلفي بمراقبة استخدام جميع المتغيرات تلقائيًا، لذلك نحتاج فقط إلى إيلاء القليل من الاهتمام (الانتباه إلى الحروف الكبيرة للكلمات) دون الحاجة إلى إضافة بادئات مختلفة بشكل شاق. بالإضافة إلى ذلك، يجب أن يعتمد النظر في البيانات على المعنى بدلاً من النوع أو النطاق، وينبغي إيلاء الاهتمام لبنية البرنامج والعلاقات المنطقية وأفكار التصميم. لذلك في دلفي، تحتاج فقط إلى استخدام مجموعة كاملة من الكلمات للتسمية، ولا تفكر في أي شيء آخر، وبالطبع يجب أن تبقيها مختصرة قدر الإمكان. في بعض العبارات (مثل الحلقات) نحتاج إلى استخدام عدة أعداد صحيحة كمتغيرات عد. هنا يمكنك ببساطة استخدام الأحرف الثلاثة i وj وk كأسماء متغيرة. هذه عادة تم تطويرها والاحتفاظ بها في لغة فورتران، وقد أثبتت أنها مفيدة للغاية وسهلة الفهم. بالطبع، سيكون لدينا نتائج أفضل باستخدام اسم أكثر معنى، مثل: MyCounter. بشكل عام، الأحرف الثلاثة i، j، وk كافية تمامًا، وإلا يجب تقسيم المزيد من العمليات أو الوظائف. فيما يلي بعض الأمثلة: 1. SongsList // يشير إلى أن هذه قائمة من الأغاني. يشير رقم الجمع للأغنية إلى وجود أكثر من أغنية واحدة. 2. SetCarColor // يشير إلى أن هذه وظيفة لتعيين لون السيارة إذا تم تعريف فئة TCar، فسيتم استخدام SetColor في الفئة كعضو دالة لتعيين لون السيارة. انتبه أيضًا إلى تسمية المتغيرات المنطقية. يجب أن يشير اسم المتغير المنطقي بوضوح إلى معنى الصواب والخطأ. على سبيل المثال، بالنسبة للمتغير الذي يسجل ما إذا كان الملف موجودًا، فإن استخدام IsFileExisted أفضل من استخدام FileExisted. أخيرًا، لا تقم أبدًا بتسمية متغير عام Temp أو Tmp، ولكنه لا يزال مسموحًا به ضمن الإجراء أو الوظيفة. في الواقع، هناك بعض الجدل حول هذه القاعدة، حيث أن بعض معايير الترميز أكثر صرامة، فمثل هذه التسمية محظورة تمامًا، حتى في الإجراءات أو الوظائف. ومع ذلك، في كثير من الأحيان تكون هذه التسمية مريحة حقًا، خاصة بالنسبة للإجراءات أو الوظائف. إذا تم استخدامه كمتغير عام، فمن المحتمل أن يكون هناك بيان مهمة لا يتطابق مع النوع. على الرغم من أن المترجم سيقدم لك الكثير من المساعدة في هذا الوقت، إلا أنه من الصعب تجنب حدوث أخطاء صغيرة . باختصار، سيؤدي اتباع هذه القاعدة إلى نتائج أفضل، ولكن لا ينبغي الالتزام بأي شيء بشكل صارم إذا لزم الأمر. 1.2 المسافة البادئة والمسافات يجب وضع مسافة بادئة بين كل مستوى وهذا سيجعل البرنامج واضحًا ومنظمًا جيدًا. لا تستخدم أبدًا أحرف الجدولة، لأنه من الصعب الحفاظ على عرض أحرف الجدولة متسقًا مع الإعدادات والتطبيقات المختلفة، ولكن لا تتوقع أن يتم عرض برنامجك في دلفي فقط. انتبه أيضًا إلى استخدام المحرر إذا اخترت دلفي فقط، فلا توجد مشكلة إذا كنت تستخدم أيضًا معالج نصوص مثل Word، فيرجى الانتباه إلى استخدام الخطوط المناسبة للتأكد من عرض كل حرف ورمز. هو نفسه. عند الطباعة باستخدام معالج النصوص مثل Word، يجب عليك أيضًا الانتباه إلى اختيار الخطوط. يهدف استخدام المسافات أيضًا إلى الحفاظ على نظافة البرنامج وتمكين المبرمجين من فهم بنية البرنامج بسرعة. وفيما يلي بعض المواصفات والأمثلة المقابلة لها: 1. يجب أن يكون هناك مسافة بين كل كلمة. على سبيل المثال: بالنسبة لـ TMyClass = class(TObject)2. يجب أن تكون هناك مسافة حول "="، و"<>"، و">="، و"<="; ويجب أن تكون هناك مسافة على يمين ":=" و": "، ولكن ليس على اليسار. على سبيل المثال: إذا كان أ = ب، فإن أ:= ب؛ يجب أن تكون هناك مسافة بين الكلمات والكلمات الرئيسية المحجوزة والرمز الموجود على اليسار، ولكن لا توجد مسافة بينها وبين الرمز الموجود على اليمين. على سبيل المثال: PROcedure ShowMessage؛4. استخدام الأقواس: في تعريف واستدعاء الإجراءات والوظائف، لا ينبغي ترك مسافات بين الأقواس والكلمات والرموز الخارجية؛ ولا ينبغي ترك مسافات بين الأقواس والكلمات الداخلية. في الحكم الشرطي لعبارة if، يجب استخدام المسافات بين الكلمات المحجوزة مثل و و أو. على سبيل المثال: الدالة Exchange(a: عدد صحيح؛ b: عدد صحيح)؛ إذا (a = b) و((a = c) أو (a = d)) ثم ... end;1.3 يقع هامش محرر دلفي في المركز 81 تقريبًا من اليمين هناك هو خط داكن متبقي عند الشخصية. في الواقع، ضمن واجهة دلفي الافتراضية، عندما تكون الدقة 800*600، سيتم عرض النافذة المكبرة بأربعة أحرف على يسار الخط الداكن. لذلك، لا تكتب الكود المصدري خارج الخط المظلم، مما يعني أن كل سطر يجب ألا يتجاوز 80 حرفًا بما في ذلك المسافات البادئة والمتوسطة. إذا كانت العبارة طويلة جدًا، فسيتم إكمال فاصل الأسطر، ويجب وضع مسافة بادئة لفاصل الأسطر بواسطة حرفين. وهذا أيضًا سهل الطباعة، ولن تتم طباعة الأجزاء التي تتجاوز الخط الداكن في دلفي. إذا كنت تستخدم برامج معالجة النصوص مثل Word لطباعة برنامج دلفي، فسيتم نقل الجزء الزائد إلى بداية السطر التالي، مما يجعل قراءة البرنامج المطبوع صعبة. لذلك، حاول إجراء كافة التعديلات أثناء كتابة التعليمات البرمجية، ولا تترك هذا النوع من العمل للطباعة. عند تغليف الأسطر، انتبه إلى الحفاظ على سهولة قراءة البرنامج وحاول الاحتفاظ بالجزء الكامل منه. على سبيل المثال، إذا كانت الدالة طويلة جدًا، فقم بتغليف وصف المعلمة الكامل بدلاً من تعريف نوع البيانات فقط. أول طريقتين للكتابة أدناه صحيحتان، والطرق التالية للكتابة خاطئة: function AdditonFiveInputNumber(a: integer; b: integer; c: integer; d: ineger;e: integer): integer; // الوظيفة الصحيحة AdditonFiveInputNumber (أ: عدد صحيح؛ ب: عدد صحيح؛ ج: عدد صحيح؛ د: عدد صحيح؛ ه: عدد صحيح): عدد صحيح // الوظيفة الصحيحة AdditonFiveInputNumber(a: عدد صحيح؛ ب: عدد صحيح؛ ج: عدد صحيح؛ د: عدد صحيح؛ ه: عدد صحيح): عدد صحيح؛ // وظيفة الخطأ AdditonFiveInputNumber(a: عدد صحيح؛ ب: عدد صحيح؛ ج: عدد صحيح؛ د: عدد صحيح؛ ه: عدد صحيح ): عدد صحيح؛ // وظيفة الخطأ AdditonFiveInputNumber(a: عدد صحيح؛ ب: عدد صحيح؛ c: integer; d: ineger;e: integer): integer; // خطأ 1.4 يجب أن يكون الحرف الأول من كل كلمة في الاسم المخصص أحرفًا كبيرة وصغيرة، ويجب أن تكون الأحرف الأخرى صغيرة. يجب أن تكون الكلمات والكلمات الرئيسية المحجوزة في دلفي بأحرف صغيرة. طريقة كتابة وظائف دلفي المحددة مسبقًا هي نفس طريقة كتابة الأسماء المخصصة. أنواع البيانات الأساسية في دلفي يجب أن تكون صغيرة، وأول حرفين من أنواع الفئات الموسعة يجب أن تكون كبيرة (الحرف الأول من نوع الفئة هو "T"). فيما يلي بعض الأمثلة: 1. الاسم المخصص: MyFavouriteSong، CarList 2. الكلمات المحجوزة: if (a = b) و ((a = c) أو (a = d)) ثم ... end؛ 3. وظائف دلفي المحددة مسبقًا: ShowMessage ("كل شيء على ما يرام")؛4. نوع فئة ملحق دلفي: MyStrings = TStrings.Create;1.5 التعليقات تدعم دلفي نوعين من التعليقات: التعليقات المحظورة ({}) والتعليقات ذات السطر الواحد (//). الغرض من التعليقات هو شرح الأفكار التصميمية للبرنامج ومساعدة المبرمجين على فهم أفكار البرنامج المكتوبة منذ عامين أو حتى بالأمس في أسرع وقت ممكن. هذا في الواقع لحل مشكلة الذاكرة، ولا ينبغي الإفراط في استخدام الدماغ كذاكرة. لا تعتمد أبدًا على الدماغ في البرمجة، بل استخدم الكلمات قدر الإمكان. لذلك تعتبر التعليقات جانبًا مهمًا جدًا في لغات البرمجة، على الرغم من أن الكثير من الأشخاص (خاصة المبتدئين، بما في ذلك عدد كبير من المبرمجين) لا يمانعون في ذلك ونادرا ما يكتبون التعليقات. هناك تطبيق آخر للتعليقات وهو في مرحلة تصحيح أخطاء البرنامج، على سبيل المثال، إذا كان هناك عبارتان ولا تعرف أيهما أفضل مقدمًا، فأنت بحاجة إلى الاختبار: ضع "//" قبل العبارة (أي تغييرها). العبارة للتعليق)، قم بتشغيل عبارة أخرى، ثم قم بالعكس، يمكننا الاختيار بسهولة. إذا كانت مجموعة من العبارات، استخدم التعليقات الجماعية، ولكن تأكد من وضع "{" و"}" في مواضع بارزة، مثل السطور العلوية والسفلية المنفصلة. فيما يلي بعض مبادئ الاستخدام: 1. في معظم الحالات، من الضروري وضع التعليقات أمام المتغيرات والأنواع المخصصة. 2. في معظم الحالات، من الضروري وضع تعليق في أعلى ملف الوحدة. هنا، يجب أن يتضمن التعليق: اسم الملف، تاريخ الإنشاء، تاريخ التعديل، المؤلف، مؤلف التعديل، والوصف الضروري. 3. يجب أن تكون التعليقات ذات معنى، ولا تستخدم تعليقات عديمة الفائدة. على سبيل المثال: while i < 8 dobegin … i:= i + 1; // Add one to iend; i : = i + 1) لا حاجة للتعليق. نظرًا لأن العبارات البسيطة غالبًا ما تلعب دورًا مهمًا للغاية، إذا كانت هذه العبارة تجعل الناس يتساءلون أو يصعب فهمها، فيجب تحديد وظيفة هذه العبارة. 4. لا تحاول إنشاء حرف واحد فقط في التعليقات إلا إذا كنت تعتقد أن ذلك ضروري للغاية. لأنه من الصعب جدًا تعديل التعليق التوضيحي مع الحفاظ على النمط سليمًا وجميلًا. . 5. لتمييز التعليقات المؤقتة عن التعليقات الدائمة، يمكنك استخدام طريقتك لوضع رموز خاصة في التعليقات. وميزة هذا هو أنه من السهل العثور عليها. 6. يتم تعيين التغييرات على البيانات إلى التعليقات المقابلة. 7. يجب أن تكون هناك فجوة واضحة بين التعليقات والتعليمات البرمجية، حتى تتمكن من معرفة ما هو البيان وما هو التعليق في لمحة سريعة. يمكنك وضع التعليقات على السطر قبل أو بعد سطر الكود، أو ترك مسافتين على الأقل بعد الكود مباشرة، ومع ذلك، عندما تكون التعليمات البرمجية والتعليقات على نفس السطر، لا تضع الكود بعد التعليق. لا تضع الكود بعد وضع التعليقات في منتصف الكود.