مهنتي هي مبرمج. رمز الآلة كلغة برمجة. كود برمجة لغة التجميع

لكي يقوم البرنامج بالإجراءات الموصوفة له، على سبيل المثال، الحساب، عرض النتيجة، الاستجابة لإجراءات المستخدم، على سبيل المثال الضغط على الأزرار، اختيار أسطر من القائمة، فمن الضروري كود البرنامج.

كود البرنامج هي مجموعة من الكلمات والرموز الخاصة بلغة البرمجة.

الأبجدية - هذه مجموعة كاملة من الحروف والأرقام والرموز المعتمدة في اللغة للدلالة على البيانات والإجراءات عليها.

تتضمن أبجدية لغة Visual Basic مجموعة الأحرف التالية:

الأحرف الكبيرة (A - Z) والأحرف الصغيرة (a - z) من الأبجدية اللاتينية؛

الأرقام من 0 إلى 9؛

علامات العمليات الحسابية (بترتيب تصاعدي للأولوية): +، -، *، /، |، ^؛

علامات العمليات العلائقية: =،<, >.

علامات الترقيم والفواصل: ,  . : ; ();

تتضمن أبجدية اللغة أيضًا محجوزالكلمات التي لا يمكن استخدامها أسماءالمتغيرات أو الإجراءات. أمثلة على الكلمات المحجوزة: Dim، Sub، Integer، إلخ. افتراضيًا، يتم استخدام الخط الأزرق لتمييز الكلمات الأساسية في نافذة تحرير التعليمات البرمجية لـ Visual Basic.

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

نافذة الكود

يتم كتابة رمز البرنامج في نافذة التعليمات البرمجية. كل نموذج لديه مثل هذه النافذة.

فتح نافذة التعليمات البرمجية:

1 الطريق - فى الشباك مستكشف المشروعانقر بزر الماوس الأيمن على النموذج المطلوب واختر من القائمة التي تفتح إظهار الرمز.

ملحوظة: قد لا تكون نافذة التعليمات البرمجية مقترنة بالنموذج. يتم استدعاء نافذة التعليمات البرمجية المنفصلة وحدة. يتم تجميع الوحدات النمطية الموجودة في نافذة Project Explorer في مجموعة وحدات. لفتح نافذة باستخدام رمز الوحدة النمطية، تحتاج إلى ذلك في النافذة مستكشف المشروعانقر مرتين على اسم الوحدة.

الطريقة 2 - انقر مرتين على عنصر التحكم في النموذج أو على النموذج نفسه في نافذة النموذج.

ملحوظة: وهذا لا يفتح نافذة التعليمات البرمجية فحسب، بل ينشئ أيضًا إجراء معالجة الحدث (انظر أدناه).

هيكل نافذة الكود:

أرز. 7. نافذة كود البرنامج.

    قائمة الضوابط

    قائمة أحداث التحكم

    الإجراء (الكود)

إجراءات

حيث أنه عند فتح الثلاجة يضيء المصباح، وعند فتح الصنبور يتدفق الماء إلى الخارج، فيمكننا القول أنه عند حدوث حدث فتح الثلاجة، يتم تنفيذ إجراء، وحدث فتح الصنبور يتسبب في إجراء آخر إجراء. وبالمثل، يتكون كود البرنامج من إجراءات منفصلة، ​​كل منها يؤدي إجراءات محددة خاصة به، على سبيل المثال، يقوم أحد الإجراءات بإضاءة مصباح، ويقوم الآخر بتشغيل (ضخ) الماء.

البصرية الأساسية - لغة البرمجة الإجرائية.هذا يعني أنه يمكنك إنشاء كتل من التعليمات البرمجية فيه، والتي يمكن بعد ذلك الرجوع إليها بالاسم. بمجرد أن يكون لكتلة من التعليمات البرمجية اسم، يمكن أن يكون كذلك مُسَمًّىواكتمل. إنه مثل برنامج داخل برنامج. تسمى البرامج الصغيرة التي "تعيش" في البرامج الكبيرة وظائف إذايعيدون بعض القيمة، و إجراءات فرعية,إذا لم يرجعوا القيم.

تجعل الإجراءات الفرعية والوظائف البرمجة أسهل وأسرع، كما أن التعليمات البرمجية التي تنشئها أكثر موثوقية. إن إنشاء إجراءاتك الروتينية ووظائفك الخاصة هو الخطوة الأولى نحو التطوير مغلفةورمز قابل لإعادة الاستخدام. التغليف يعني إخفاء تنفيذ خصائص الكائن وأساليبه خلف واجهته الخارجية.

إجراء (الروتين الفرعي) هو جزء منفصل من كود البرنامج الذي يتم من خلاله عادة حل مهمة صغيرة، وهو عبارة عن كتلة برنامج صغيرة مبنية بشكل منطقي وينقسم إليها البرنامج بأكمله.

إذا كان من الممكن تنفيذ الإجراء فقط ضمن كتلة برنامج معينة (على سبيل المثال، فقط في هذا النموذج)، ولا يمكن استدعاؤه من كتلة برنامج أخرى، فإن هذا الإجراء يكون محليًا. يتم تحديد إجراء محلي باستخدام الكلمة الأساسية الخاصة الفرعية.

إذا كان من الممكن استدعاء إجراء من كتل برامج أخرى (على سبيل المثال، من نموذج آخر)، فإن هذا الإجراء يكون عموميًا. يتم تحديد إجراء عالمي باستخدام الكلمة الأساسية العامة الفرعية.

افتراضيًا، إذا لم تكن هناك كلمة أساسية قبل الكلمة الأساسية الفرعية، فهذا إجراء عام.

الإجراءات هي:

    إجراءات الحدث. يتم تنفيذه عند وقوع حدث على عنصر تحكم (أو نموذج). يرتبط إجراء الحدث دائمًا ببعض الكائنات. لاستدعاء إجراء حدث لكائن ما، ما عليك سوى النقر نقرًا مزدوجًا بزر الماوس الأيسر على الكائن.

    الإجراءات التعسفية. وهو غير مرتبط بالأحداث ويمكن استدعاؤه من أي إجراء آخر وتنفيذه في أي وقت. إذا ظهرت نفس كتلة البرنامج في جميع الأشكال في البرنامج، فيمكن كتابتها مرة واحدة فقط وفي مكان واحد، في شكل برنامج عالمي مشترك. لا يرتبط إطلاق برنامج عام بكائن أو بحدث، ولكنه يحدث عند الوصول إليه من كتل برامج أخرى. استدعاء إجراء عام من نفس النموذج: اسم الإجراء (قائمة المعلمات). استدعاء إجراء عام من نموذج آخر: شيء. اسم الإجراء (قائمة المعلمات). يمكن أن يكون الإجراء العام محليًا خاصًا أو عامًا عالميًا

هيكل الإجراء

يتكون الإجراء من العناصر التالية:

    رأس الإجراء - يمثل بداية الإجراء ونوعه والغرض منه (الحدث).

مثال لعنوان الإجراء الذي يتم تنفيذه عند النقر فوق زر يسمى Command1.

    كلمة خاصيعني مغلق، أي أن الإجراء ينتمي فقط إلى هذا النموذج أو الوحدة النمطية ولا يمكن استخدامه بواسطة حاويات أخرى (نماذج أو وحدات نمطية). إذا تم حذف هذه الكلمة، فسيكون الإجراء مفتوحًا للحاويات الأخرى.

    الفرعية- إجراء.

ملحوظة: بالإضافة إلى الإجراءات، هناك وظائف. لا ترتبط الوظائف بالأحداث ويمكنها بالإضافة إلى ذلك إرجاع نتيجة عملها (الحسابات).

    عنصر التحكم(أو اسم النموذج): يحدد هذا الاسم الدقيق للعنصر المخزن في الخاصية اسم.

    حدث- اسم الحدث. وهنا بعض الأحداث:

    انقر - انقر بالماوس.

    DblClick - انقر مرتين.

    KeyPress - الضغط على المفاتيح؛

    UnLoad - تفريغ النموذج (عند إغلاق النموذج، إنهاء البرنامج)؛

    التنشيط - تنشيط النموذج (عند النقر فوق النموذج ويتم تمييز عنوانه)؛

    إلغاء التنشيط - إلغاء تنشيط النموذج (عند النقر على نموذج آخر).

    التهيئة - عند إنشاء كائن من نوع النموذج.

    تغيير الحجم - عند تغيير حجم النموذج

    إنهاء - في لحظة حذف النموذج

    الحجج- هذه هي البيانات الأولية التي تم تمريرها إلى إجراء المعالجة.

تحتوي الإجراءات المخصصة على العنوان التالي:

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

    نهاية الإجراء - ينتهي كود البرنامج الخاص بالإجراء: End Sub

ملحوظة: للوظائف: وظيفة النهاية

    هيئة الإجراء - هذه هي الخطوط بين العنوان والنهاية. عددهم غير محدود. تحتوي الأسطر على تعليمات يجب تنفيذها عند استدعاء الإجراء (وقوع الحدث).

روتين فرعي (الفرعية) - هو إجراء ينفذ تعليمات برمجية ضمن الكتلة الخاصة به ولا يُرجع قيمة. بناء جملة روتين فرعي بسيط هو:

( خاص | عام ) الفرعية الرئيسية من الباطن ()

..أسطر من التعليمات البرمجية نهاية الفرعية

نطاق الروتين الفرعي؛

نوع الإجراء الفرعي (أي الروتين الفرعي)؛

الرئيسية من الباطنالاسم المعطى للروتين الفرعي؛

End Sub - نهاية كتلة التعليمات البرمجية للروتين الفرعي.

إنشاء إجراء

لإنشاء إجراء، قم بما يلي:

    1 الطريق - انقر نقرًا مزدوجًا على عنصر التحكم أو النموذج المطلوب. سيتم فتح نافذة التعليمات البرمجية، وسيظهر فيها عنوان الإجراء ونهاية الإجراء. إذا كانت هناك حاجة إلى حدث آخر، فسيتم تحديده باستخدام القائمة الموجودة في الزاوية اليمنى العليا من نافذة التعليمات البرمجية.

    الطريقة 2 - افتح نافذة التعليمات البرمجية، انتقل إلى الأدوات → إضافة إجراء → حدد اسم الإجراء ومعلماته → موافق.

    3 طريقة - افتح نافذة الكود وأدخل الأسطر المطلوبة من لوحة المفاتيح.

يجب أن تكون النتيجة:

أمر فرعي خاص1_Click()

إجراءات الاستدعاء للتنفيذ

    لكي يتم تنفيذ إجراء حدث، يجب أن يقع الحدث.

    لتنفيذ إجراء عشوائي، حدد اسم هذا الإجراء في نص إجراء آخر.

أمر فرعي خاص1_Click()

هنا، عند النقر فوق الزر Command1، يقع الحدث Click ويتم استدعاء إجراء Kvadrat وتنفيذه.

يتم تنفيذ رمز الإجراء سطرًا تلو الآخر ومن الأعلى إلى الأسفل.

وظيفة (وظيفة) - إنه إجراء ينفذ أسطرًا من التعليمات البرمجية الخاصة به ويعيد بعض القيمة. بناء الجملة لوظيفة بسيطة هو:

وظيفة اسم الوظيفة () كنوع البيانات

... خطوطشفرة

اسم الوظيفة = قيمة الإرجاعوظيفة النهاية

نطاق الوظيفة؛

الدالة هي كلمة أساسية في Visual Basic تشير إلى أنها دالة؛

اسم وظيفة () - الاسم المعطى للوظيفة؛

AS هي كلمة أساسية في Visual Basic تسبق تعيين نوع البيانات؛

نوع البياناتنوع بيانات قيمة الإرجاع؛

قيمة الإرجاعالقيمة التي يجب تخصيصها لاسم الوظيفة (هذه نقطة مهمة جدًا!)

وظيفة النهاية - نهاية هذه المجموعة من التعليمات البرمجية.

البرمجة هي علم كامل يسمح لك بإنشاء برامج الكمبيوتر. يتضمن عددًا كبيرًا من العمليات والخوارزميات المختلفة التي تشكل لغة برمجة واحدة. إذن ما هو وما هي لغات البرمجة المختلفة؟ توفر المقالة إجابات وتوفر أيضًا قائمة عامة بلغات البرمجة.

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

تم اختراع أول لغة الآلة في عام 1941 على يد كونراد زوزه، وهو مخترع المحرك التحليلي. وبعد ذلك بقليل، في عام 1943، ابتكر هوارد أيكن آلة Mark 1، القادرة على قراءة التعليمات على مستوى كود الآلة.

في الخمسينيات من القرن الماضي، بدأ الطلب على تطوير البرمجيات، ولم تتمكن لغة الآلة من التعامل مع كميات كبيرة من التعليمات البرمجية، لذلك تم إنشاء طريقة جديدة للتواصل مع أجهزة الكمبيوتر. "المجمع" هي أول لغة تذكيرية تحل محل تعليمات الآلة. على مر السنين، تتزايد قائمة لغات البرمجة، لأن نطاق تكنولوجيا الكمبيوتر يصبح أوسع.

تصنيف لغات البرمجة

يوجد حاليًا أكثر من 300 لغة برمجة. كل واحد منهم له خصائصه الخاصة وهو مناسب لمهمة واحدة محددة. يمكن تقسيم جميع لغات البرمجة إلى عدة مجموعات:

  • موجه نحو الجانب (الفكرة الرئيسية هي فصل الوظائف لزيادة كفاءة وحدات البرامج).
  • الهيكلية (تعتمد على فكرة إنشاء هيكل هرمي لكتل ​​البرامج الفردية).
  • منطقي (بناء على نظرية جهاز المنطق الرياضي وقواعد الحل).
  • موجه نحو الكائنات (في مثل هذه البرمجة لم تعد الخوارزميات المستخدمة، ولكن الكائنات التي تنتمي إلى فئة معينة).
  • متعدد النماذج (يجمع بين عدة نماذج، ويقرر المبرمج بنفسه اللغة التي سيستخدمها في حالة معينة).
  • وظيفية (العناصر الرئيسية هي وظائف تتغير قيمتها اعتمادًا على نتائج حسابات البيانات المصدر).

البرمجة للمبتدئين

يتساءل الكثير من الناس ما هي البرمجة؟ في الأساس، إنها وسيلة للتواصل مع الكمبيوتر. بفضل لغات البرمجة، يمكننا إسناد مهام محددة لمختلف الأجهزة عن طريق إنشاء تطبيقات أو برامج خاصة. عند دراسة هذا العلم في المرحلة الأولية، فإن الشيء الأكثر أهمية هو اختيار لغات البرمجة المناسبة (التي تهمك). وترد أدناه قائمة للمبتدئين:

  • تم اختراع لغة Basic في عام 1964، وهي تنتمي إلى عائلة اللغات عالية المستوى وتستخدم لكتابة برامج التطبيقات.
  • من السهل جدًا تعلم لغة بايثون نظرًا لتركيبها البسيط والقابل للقراءة، ولكن الميزة هي أنه يمكن استخدامها لإنشاء برامج سطح المكتب العادية وتطبيقات الويب.
  • تعتبر لغة باسكال من أقدم اللغات (1969) التي تم إنشاؤها لتعليم الطلاب. تم تصنيفها وتنظيمها بشكل صارم، لكن لغة باسكال هي لغة منطقية تمامًا ومفهومة على المستوى البديهي.

هذه ليست قائمة كاملة بلغات البرمجة للمبتدئين. هناك عدد كبير من تركيبات الجملة التي يسهل فهمها وسيكون الطلب عليها بالتأكيد في السنوات القادمة. لكل شخص الحق في اختيار الاتجاه الذي سيكون مثيرًا للاهتمام بالنسبة له بشكل مستقل.

يتمتع المبتدئون بفرصة تسريع تعلمهم للبرمجة وأساسياتها بفضل الأدوات الخاصة. المساعد الرئيسي هو بيئة التطوير المتكاملة لبرامج وتطبيقات Visual Basic ("Visual Basic" هي أيضًا لغة برمجة ورثت أسلوب اللغة الأساسية في السبعينيات).

مستويات لغات البرمجة

تنقسم جميع اللغات الرسمية المخصصة لإنشاء ووصف البرامج والخوارزميات لحل المشكلات على أجهزة الكمبيوتر إلى فئتين رئيسيتين: لغات البرمجة منخفضة المستوى (القائمة موضحة أدناه) واللغات عالية المستوى. دعونا نتحدث عن كل واحد منهم على حدة.

تم تصميم اللغات منخفضة المستوى لإنشاء تعليمات الآلة للمعالجات. ميزتها الرئيسية هي أنها تستخدم تدوينات ذاكرية، أي بدلاً من سلسلة من الأصفار والواحدات (من نظام الأرقام الثنائية)، يتذكر الكمبيوتر كلمة مختصرة ذات معنى من اللغة الإنجليزية. أشهر اللغات ذات المستوى المنخفض هي “Assembler” (توجد عدة أنواع فرعية من هذه اللغة، لكل منها الكثير من القواسم المشتركة، ولكنها تختلف فقط في مجموعة من التوجيهات الإضافية ووحدات الماكرو)، وCIL (متوفرة في .Net) النظام الأساسي) وJAVA Bytecode.

لغات البرمجة عالية المستوى: القائمة

تم إنشاء اللغات عالية المستوى لتوفير الراحة وزيادة كفاءة التطبيقات، فهي عكس اللغات منخفضة المستوى تمامًا. السمة المميزة لها هي وجود بنيات دلالية تصف بإيجاز ودقة هياكل وخوارزميات البرامج. في اللغات ذات المستوى المنخفض، سيكون وصفها في كود الآلة طويلًا جدًا وغير مفهوم. اللغات عالية المستوى مستقلة عن النظام الأساسي. وبدلاً من ذلك، يقوم المترجمون بأداء وظيفة المترجم: حيث يقومون بترجمة نص البرنامج إلى تعليمات أولية للآلة.

قائمة لغات البرمجة التالية: C ("C") وC# ("C-sharp") و"Fortran" و"Pascal" وJava ("Java") - هي من بين تركيبات الجملة عالية المستوى الأكثر استخدامًا. تتميز بالخصائص التالية: تعمل هذه اللغات مع بنيات معقدة، وتدعم أنواع البيانات المتسلسلة والعمليات باستخدام معلومات الإدخال/الإخراج للملف، كما تتميز بكونها أسهل بكثير في العمل بسبب سهولة القراءة وبناء الجملة المفهوم.

لغات البرمجة الأكثر استخداما

من حيث المبدأ، يمكنك كتابة برنامج بأي لغة. والسؤال هو: هل ستعمل بكفاءة ودون فشل؟ ولهذا يجب عليك اختيار لغات البرمجة الأكثر ملائمة لحل المشاكل المختلفة. ويمكن وصف القائمة حسب الشعبية على النحو التالي:

  • لغات OOP: Java وC++ وPython وPHP وVisualBasic وJavaScript؛
  • مجموعة اللغات الهيكلية: الأساسية، والفورتران، والباسكال؛
  • نماذج متعددة: C #، دلفي، كاري وسكالا.

نطاق البرامج والتطبيقات

يعتمد اختيار اللغة التي يُكتب بها برنامج معين إلى حد كبير على مجال تطبيقه. لذلك، على سبيل المثال، للعمل مع أجهزة الكمبيوتر نفسها (كتابة برامج التشغيل والبرامج الداعمة)، سيكون الخيار الأفضل هو C ("C") أو C++، المضمنة في لغات البرمجة الرئيسية (انظر القائمة أعلاه) . ولتطوير تطبيقات الهاتف المحمول، بما في ذلك الألعاب، يجب عليك اختيار Java أو C# ("C-sharp").

إذا لم تكن قد قررت بعد الاتجاه الذي ستعمل فيه، فنوصيك بالبدء في الدراسة باستخدام لغة C أو C++. لديهم بناء جملة واضح جدًا وتقسيم هيكلي واضح إلى فئات ووظائف. بالإضافة إلى ذلك، بمعرفة لغة C أو C++، يمكنك بسهولة تعلم أي لغة برمجة أخرى.

هناك عدد لا يحصى من الطرق لكتابة تعليمات برمجية سيئة. لحسن الحظ، للارتقاء إلى مستوى كود الجودة، ما عليك سوى اتباع 15 قاعدة. إن اتباعها لن يجعلك سيدًا، لكنه سيسمح لك بتقليده بشكل مقنع.

القاعدة 1: اتبع معايير الترميز.

تحتوي كل لغة برمجة على معيار تنسيق التعليمات البرمجية الخاص بها، والذي يوضح كيفية وضع مسافة بادئة، ومكان وضع المسافات والأقواس، وكيفية تسمية الكائنات، وكيفية التعليق على التعليمات البرمجية، وما إلى ذلك.

على سبيل المثال، في هذا الجزء من التعليمات البرمجية، وفقًا للمعيار، هناك 12 خطأ:

من أجل(i=0;i

ادرس المعيار بعناية، وتعلم الأساسيات عن ظهر قلب، واتبع القواعد مثل الوصايا، وستكون برامجك أفضل من معظم البرامج التي كتبها خريجو الجامعات.

تقوم العديد من المنظمات بتخصيص المعايير لتناسب احتياجاتها الخاصة. على سبيل المثال، قامت جوجل بتطوير معايير لأكثر من 12 لغة برمجة. إنها مدروسة جيدًا، لذا قم بمراجعتها إذا كنت بحاجة إلى مساعدة في البرمجة باستخدام Google. تتضمن المعايير أيضًا إعدادات المحرر لمساعدتك على الالتزام بالنمط، وأدوات خاصة للتحقق من توافق التعليمات البرمجية الخاصة بك مع هذا النمط. استخدمهم.

القاعدة الثانية: إعطاء أسماء وصفية.

نظرًا لأن المبرمجين في العصور القديمة كانوا مقيدين بآلات المبرقة البطيئة والعتيقة، فقد استخدموا عقودًا لأسماء المتغيرات والإجراءات لتوفير الوقت وضغطات المفاتيح والحبر والورق. هذه الثقافة موجودة في بعض المجتمعات من أجل الحفاظ على التوافق مع الإصدارات السابقة. خذ، على سبيل المثال، وظيفة كسر اللغة C wcscspn (امتداد سلسلة الأحرف العريضة المكملة). لكن هذا النهج غير قابل للتطبيق في الكود الحديث.

استخدم أسماء وصفية طويلة مثلComplementSpanLength لمساعدتك أنت وزملائك على فهم التعليمات البرمجية الخاصة بك في المستقبل. الاستثناءات هي بعض المتغيرات المهمة المستخدمة في نص الطريقة، مثل مكررات الحلقة، أو المعلمات، أو القيم المؤقتة، أو نتائج التنفيذ.

من المهم جدًا أن تفكر طويلًا وصعبًا قبل تسمية شيء ما. هل الاسم دقيق؟ هل تقصد أعلى سعر بدلاً من أفضل سعر؟ هل الاسم محدد بدرجة كافية لتجنب استخدامه في سياقات أخرى لكائنات مماثلة؟ ألن يكون من الأفضل استدعاء الطريقة getBestPrice بدلاً من getBest؟ هل تناسب بشكل أفضل من الأسماء المماثلة الأخرى؟ إذا كان لديك أسلوب ReadEventLog، فلا ينبغي عليك استدعاء NetErrorLogRead آخر. إذا قمت بتسمية دالة، فهل يصف الاسم القيمة المرجعة؟

وأخيرا، بعض قواعد التسمية البسيطة. يجب أن تكون أسماء الفئات والأنواع أسماء. يجب أن يحتوي اسم الطريقة على فعل. إذا حددت إحدى الطرق ما إذا كانت بعض المعلومات حول كائن ما صحيحة أم خاطئة، فيجب أن يبدأ اسمها بـ "is". يجب أن تبدأ الطرق التي تُرجع خصائص الكائنات بـ "get"، ويجب أن تبدأ الطرق التي تحدد قيم الخصائص بـ "set".

القاعدة الثالثة: التعليق والتوثيق.

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

بالإضافة إلى ذلك، تأكد من أن تطبيقك أو مكتبتك تحتوي على دليل يشرح ما تفعله التعليمات البرمجية الخاصة بك، ويحدد تبعياتها، ويوفر تعليمات لبناءها واختبارها وتثبيتها واستخدامها. يجب أن تكون الوثيقة قصيرة ومريحة؛ غالبًا ما يكون ملف README البسيط كافيًا.

القاعدة 4. لا تكرر نفسك.

لا تقم أبدًا بنسخ ولصق الكود. بدلاً من ذلك، قم بعزل الجزء المشترك في أسلوب أو فئة (أو ماكرو، إذا لزم الأمر)، واستخدمه مع المعلمات المناسبة. تجنب استخدام بيانات وأجزاء من التعليمات البرمجية المشابهة. استخدم أيضًا التقنيات التالية:

  • قم بإنشاء مراجع API من التعليقات باستخدام Javadoc وDoxygen.
  • الإنشاء التلقائي لاختبارات الوحدة بناءً على التعليقات التوضيحية أو اصطلاحات التسمية.
  • أنشئ ملفات PDF وHTML من مصدر واحد موسوم.
  • استرجاع بنية الفئة من قاعدة البيانات (أو العكس).

القاعدة الخامسة: التحقق من الأخطاء والرد عليها.

قد ترجع الأساليب أعراض الخطأ أو تطرح استثناءات. معالجتها. لا تعتمد على حقيقة أن القرص لن يمتلئ أبدًا، أو أن ملف التكوين الخاص بك سيكون موجودًا دائمًا، أو أن تطبيقك سيعمل بجميع الحقوق التي يحتاجها، أو أن طلبات تخصيص الذاكرة ستنجح دائمًا، أو أن اتصالك لن يفشل أبدًا. نعم، من الصعب كتابة المعالجة الجيدة للأخطاء، وتجعل التعليمات البرمجية أطول وأصعب في القراءة. لكن تجاهل الأخطاء يخفي المشكلة ببساطة، حيث سيكتشفها المستخدم المطمئن ذات يوم.

القاعدة 6: قم بتقسيم الكود الخاص بك إلى أجزاء قصيرة ومنفصلة.

يجب أن تتناسب كل طريقة أو وظيفة أو مجموعة من التعليمات البرمجية مع نافذة الشاشة العادية (25-50 سطرًا). إذا كانت أطول، قم بتقسيمها إلى أجزاء أقصر. حتى داخل إحدى الطرق، قم بتقسيم التعليمات البرمجية الطويلة إلى كتل، والتي يمكنك وصف جوهرها في تعليق في بداية كل كتلة.

علاوة على ذلك، يجب على كل فئة أو وحدة نمطية أو ملف أو عملية تنفيذ نوع معين من المهام. إذا كان جزء من التعليمات البرمجية يؤدي مهام مختلفة تمامًا، فقم بتقسيمه وفقًا لذلك.

القاعدة 7. استخدم واجهات برمجة التطبيقات الإطارية ومكتبات الطرف الثالث.

استكشف الميزات المتوفرة من خلال واجهة برمجة التطبيقات (API) الخاصة بإطار العمل الخاص بك. وأيضًا ما يمكن أن تفعله مكتبات الطرف الثالث الناضجة. إذا كانت المكتبات مدعومة من قبل مدير حزم النظام لديك، فمن المحتمل أن تكون خيارًا جيدًا. استخدم رمزًا لا يشجع الرغبة في إعادة اختراع العجلة (ومربعًا عديم الفائدة في ذلك الوقت).

القاعدة الثامنة: لا تبالغ في التصميم.

صمم فقط ما هو مناسب الآن. يمكنك جعل التعليمات البرمجية الخاصة بك عامة بما يكفي لدعم المزيد من التطوير، طالما أنها لا تصبح معقدة للغاية. لا تقم بإنشاء فئات ذات معلمات ومصانع وتسلسلات هرمية عميقة وواجهات مخفية لحل مشكلات غير موجودة أصلاً - لا يمكنك تخمين ما سيحدث غدًا. من ناحية أخرى، عندما لا تتناسب بنية الكود مع المهمة، فلا تتردد في إعادة هيكلتها.

القاعدة 9: كن متسقًا.

افعل نفس الأشياء بنفس الطريقة. إذا كنت تقوم بتطوير طريقة تشبه وظائفها وظيفة موجودة، فاستخدم اسمًا مشابهًا وترتيب معلمات مشابهًا وبنية نصية مماثلة. وينطبق الشيء نفسه على الطبقات. قم بإنشاء حقول وأساليب مماثلة، ومنحها واجهات مماثلة، ومطابقة الأسماء الجديدة بالأسماء الموجودة في فئات مماثلة.

يجب أن يتبع الكود الخاص بك اصطلاحات إطار العمل الخاص بك. على سبيل المثال، من الممارسات الجيدة جعل النطاقات شبه مفتوحة: مغلقة (شاملة) على اليسار (في بداية النطاق) ومفتوحة (حصرية) على اليمين (في النهاية). إذا لم تكن هناك اتفاقيات لقضية معينة، فاختر والتزم به بتعصب.

القاعدة 10: تجنب المشاكل الأمنية.

نادراً ما تعمل التعليمات البرمجية الحديثة بمعزل عن غيرها. هناك خطر وشيك بأن تصبح هدفًا للهجوم. ليس من الضروري أن تأتي من الإنترنت؛ يمكن أن يحدث الهجوم من خلال بيانات إدخال التطبيق الخاص بك. اعتمادًا على لغة البرمجة والمجال الخاص بك، قد تحتاج إلى القلق بشأن تجاوزات المخزن المؤقت، والبرمجة النصية عبر المواقع، وإدخال SQL، ومشكلات أخرى مماثلة. ادرس هذه المشكلات وتجنبها في الكود الخاص بك. ليست صعبة.

القاعدة 11: استخدم هياكل البيانات والخوارزميات الفعالة.

غالبًا ما يكون الحفاظ على التعليمات البرمجية البسيطة أسهل من الحفاظ على نفس التعليمات البرمجية ولكن يتم تعديلها لتحقيق الكفاءة. لحسن الحظ، يمكنك الجمع بين قابلية الصيانة والكفاءة باستخدام هياكل البيانات والخوارزميات التي يوفرها إطار العمل الخاص بك. استخدم الخريطة والمجموعة والمتجهات والخوارزميات التي تعمل معهم. سيؤدي هذا إلى جعل التعليمات البرمجية الخاصة بك أكثر وضوحًا وأسرع وأكثر قابلية للتطوير وأكثر كفاءة في الذاكرة. على سبيل المثال، إذا قمت بتخزين ألف قيمة في مجموعة مفروزة، فستجد عملية التقاطع عناصر مشتركة مع مجموعة أخرى في نفس عدد العمليات، بدلاً من مليون مقارنة.

القاعدة 12. استخدم اختبارات الوحدة.

إن تعقيد البرامج الحديثة يجعل تثبيتها أكثر تكلفة ويصعب اختبارها. سيكون النهج المثمر هو مرافقة كل جزء من التعليمات البرمجية باختبارات تتحقق من صحة عملها. هذا الأسلوب يبسط تصحيح الأخطاء لأن يسمح باكتشاف الأخطاء مبكرًا. يعد اختبار الوحدة ضروريًا عند البرمجة بلغات مكتوبة ديناميكيًا مثل Python وJavaScript لأنها تكتشف أي أخطاء فقط في وقت التشغيل، بينما يمكن للغات المكتوبة بشكل ثابت مثل Java وC# وC++ التقاط بعض الأخطاء في وقت التشغيل. وقت. يتيح لك اختبار الوحدة أيضًا إعادة بناء التعليمات البرمجية الخاصة بك بثقة. يمكنك استخدام XUnit لتسهيل كتابة الاختبارات وأتمتة تنفيذها.

القاعدة 13: احتفظ بالكود الخاص بك قابلاً للنقل.

ما لم يكن لديك سبب محدد، لا تستخدم الوظائف المتوفرة فقط على نظام أساسي محدد. لا تعتمد على أنواع معينة من البيانات (مثل الأعداد الصحيحة والمؤشرات والطوابع الزمنية) للحصول على طول محدد (على سبيل المثال، 32 بت)، لأن هذه المعلمة تختلف باختلاف الأنظمة الأساسية. احتفظ برسائل البرنامج منفصلة عن التعليمات البرمجية ولا تقم بترميز المعلمات الخاصة بالثقافة (مثل الفواصل العشرية أو تنسيقات التاريخ). هناك حاجة إلى اتفاقيات لضمان إمكانية تشغيل التعليمات البرمجية في بلدان مختلفة، لذا اجعل الترجمة غير مؤلمة قدر الإمكان.

القاعدة 14: اجعل الكود الخاص بك قابلاً للتركيب.

يجب أن يقوم أمر بسيط بتجميع التعليمات البرمجية الخاصة بك في نموذج جاهز للتوزيع. يجب أن يسمح لك الأمر ببناء الاختبارات الضرورية وتشغيلها بسرعة. لتحقيق هذا الهدف، استخدم أدوات البناء الآلية مثل Make أو Apache Maven أو Ant. من الناحية المثالية، يجب عليك تثبيت نظام تكامل يقوم بفحص التعليمات البرمجية الخاصة بك وإنشائها واختبارها كلما تغيرت.

القاعدة 15: ضع كل شيء في التحكم بالإصدار.

يجب أن تكون جميع العناصر الخاصة بك - التعليمات البرمجية، والوثائق، ومصادر الأدوات، وبناء البرامج النصية، وبيانات الاختبار - في التحكم في الإصدار.

في بعض لغات البرمجة أو لغة الترميز التي يمكن قراءتها من قبل البشر. بالمعنى العام - أي بيانات مدخلة للمترجم. تتم ترجمة الكود المصدري إلى رمز قابل للتنفيذبالكامل قبل تشغيل البرنامج باستخدام مترجم أو يمكن تنفيذه على الفور باستخدام مترجم.

غاية

يتم استخدام الكود المصدري إما لإنتاج كود الكائن أو يتم تنفيذه بواسطة مترجم. يتم إجراء التغييرات على النسخة الأصلية فقط، تليها إعادة التحويل إلى الكائن الأول.

غرض آخر مهم من كود المصدر هو وصف البرنامج. استنادا إلى نص البرنامج، يمكنك إعادة بناء منطق سلوكه. تُستخدم التعليقات لتسهيل فهم كود المصدر. هناك أيضًا أدوات تتيح لك الحصول تلقائيًا على وثائق التعليمات البرمجية المصدر - ما يسمى ب. مولدات التوثيق.

بالإضافة إلى ذلك، فإن الكود المصدري له العديد من الاستخدامات الأخرى. يمكن استخدامه كأداة تعليمية؛ قد يجد المبرمجون المبتدئون أنه من المفيد فحص كود المصدر الحالي لتعلم تقنيات ومنهجية البرمجة. كما يتم استخدامه كأداة اتصال بين المبرمجين ذوي الخبرة نظرًا لطبيعته المختصرة التي لا لبس فيها. غالبًا ما يُشار إلى مشاركة التعليمات البرمجية بين المطورين كعامل مساهم في تحسين تجربة المبرمج.

غالبًا ما يقوم المبرمجون بنقل الكود المصدري (في وحدات، كما هي، أو مع تعديلات) من مشروع إلى آخر، وهو ما يسمى إعادة استخدام الكود.

يعد كود المصدر مكونًا مهمًا لعملية نقل البرامج إلى الأنظمة الأساسية الأخرى. بدون الكود المصدري لأي جزء من البرامج، يكون النقل صعبًا جدًا أو مستحيلًا تمامًا.

منظمة

قد يتكون الكود المصدري لجزء ما من البرنامج (الوحدة النمطية أو المكون) من ملف واحد أو أكثر. لا يُكتب رمز البرنامج بالضرورة بلغة برمجة واحدة فقط. على سبيل المثال، غالبًا ما تحتوي البرامج المكتوبة بلغة C على إدخالات من كود لغة التجميع لأسباب تتعلق بالتحسين. ومن الممكن أيضًا أن تكون بعض مكونات أو أجزاء البرنامج مكتوبة بلغات مختلفة، ثم يتم تجميعها في وحدة واحدة قابلة للتنفيذ باستخدام تقنية تعرف باسم ربط المكتبة ( ربط المكتبة).

تتطلب البرامج المعقدة إنشاء عشرات أو حتى مئات من ملفات التعليمات البرمجية المصدر. في مثل هذه الحالات، لتبسيط الإنشاء، عادةً ما يتم استخدام ملفات المشروع التي تحتوي على وصف للتبعيات بين ملفات التعليمات البرمجية المصدر وتصف عملية الإنشاء. قد تحتوي هذه الملفات أيضًا على خيارات للمترجم وبيئة التصميم. بالنسبة لبيئات التصميم المختلفة، يمكن استخدام ملفات مشاريع مختلفة، وفي بعض البيئات يمكن أن تكون هذه الملفات بتنسيق نصي، ومناسب للتحرير المباشر بواسطة مبرمج باستخدام برامج تحرير النصوص العالمية؛ وفي بيئات أخرى، يتم دعم التنسيقات الخاصة، ويتم إنشاء و يتم تعديل الملفات باستخدام برامج أدوات خاصة. عادةً ما يتم تضمين ملفات المشروع في مصطلح "الكود المصدري". تشير التعليمات البرمجية المصدر غالبًا إلى ملفات الموارد التي تحتوي على بيانات متنوعة، مثل الرسومات، اللازمة لإنشاء برنامج.

لتسهيل العمل مع التعليمات البرمجية المصدر والسماح لفريق من المبرمجين بالتعاون في التعليمات البرمجية، يتم استخدام أنظمة التحكم في الإصدار.

جودة

على عكس البشر، لا يوجد رمز "مكتوب بشكل جيد" أو "مكتوب بشكل سيء" للكمبيوتر. ولكن كيفية كتابة الكود يمكن أن تؤثر بشكل كبير على عملية صيانة البرنامج. يمكن الحكم على جودة الكود المصدري من خلال المعلمات التالية:

  • إمكانية قراءة التعليمات البرمجية (بما في ذلك وجود

البعض من أجل المتعة، والبعض الآخر لإثبات الوجود أو دحض فرضية، والبعض الآخر لتدريب أدمغتهم (السفر على سطح زجاجة كلاين أو في الفضاء رباعي الأبعاد)، لكن مئات الأشخاص ابتكروا لغات برمجة "مقصورة على فئة معينة". لقد مررت بحوالي 150 لغة من هذه اللغات ولن أعود كما كنت مرة أخرى أبدًا.

"Argh!"، "Oof!"، "2-ill"، "Nhohnhehr"، "Noit o" mnain gelb"، "DZZZZ"، "Ypsilax"، "YABALL"، اللعنة - هذه تعويذات، والشعر مجرد أسماء ... ضمن catom - أمثلة التعليمات البرمجية في لغات البرمجة الأكثر لفتًا للانتباه.

جحر الأرنب عميق.

INTERCAL (تورينج كاملة)



دون وودز وجيم ليون

واحدة من أقدم لغات البرمجة الباطنية. وفقًا للمبدعين، فإن اسمها يعني "لغة المترجم بدون اختصار واضح". تم إنشاء اللغة في عام 1972 من قبل الطلاب دون وودز وجيمس إم ليون كمحاكاة ساخرة للغات البرمجة الموجودة والجمباز العقلي.

مرحبا بالعالم

يمكن إعطاء كل أمر برنامج احتمالية تنفيذه عند بدء تشغيل البرنامج. بالإضافة إلى ذلك، هناك أوامر تمنع تنفيذ أوامر لاحقة من نوع معين أو تغييرات على المتغيرات.

مرحبا بالعالم!

// "مرحبا بالعالم" بقلم ستيفن ماكجريل.
// لاحظ أن وجهات النظر المعبر عنها في كود المصدر هذا لا تتطابق بالضرورة مع تلك الخاصة بـ

Gr34t l33tN3$$؟
م3ح…
it 41n"t s0 7ricky.

L33t sP33k هو U8er keWl 4nD eA5y wehn u 7hink 1t Thr0uGh.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ؛ص
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 cL4nS r 7eh be5t TH1ng 1n teh 3nTIr3 w0rlD!!!
g4m3s wh3r3 u g3t إلى 5h00t ppl r 70tAl1_y w1cK1d!!!
I"M teh fr4GM4stEr an I"lL t0t41_1Ly wipE teh phr34k1ng fL00r ***j3d1 5tYlE*** with y0uR h1dE!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs مع m8tes r34lLy k1kK$ A$$

L33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff مثل n34t pR0gR4mm1nG lAnguidGe$…
s0m3tIm3$ teh l4nGu4gES l00k فقط l1k3 rE41_ 0neS 7o make ppl Th1nk th3y"r3 ju$t n0rMal lEE7 5pEEk لكن th3y"re 5ecRetLy c0dE!!!
n080DY تحت $ l33t Speak 4p4rT fr0m j3d1 !!!
50mE kid 0n A me$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh way5 l33t ppl can 8E m0re like y0d4!!! هو i5 تيه u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD !!!" u ju5t can"T gu3s5.
tH3r3 "s n3v3r أي p0iNt l00KiNg sC3pT1c4l c0s th4t، be1_1Ev3 iT 0r n0t، 1s What th1s 1s!!!

5uxX0r5!!!L0L0L0L0L!!!

أرنولد سي

لغة البرمجة تيرميناتور.

مرحبا بالعالم!

حسنًا!

إما لغة إنسان الغاب، أو حلم ويليام أوكام.

مرحبا بالعالم!

طاه

لغة برمجة مقصورة على فئة معينة، طورها ديفيد مورجان مار، تشبه فيها البرامج وصفات الطهي. يتكون كل برنامج في اللغة من اسم، وقائمة المتغيرات وقيمها، وقائمة التعليمات. ولا يمكن تسمية المتغيرات إلا بأسماء المواد الغذائية الأساسية. يُطلق على المكدس الذي يتم وضع قيم المتغيرات فيه. وعاء الخلط، وعمليات معالجة المتغيرات هي الخلط والتحريك وما إلى ذلك.

مرحبا بالعالم

مرحباً بالعالم سوفلي.

مكونات.
72 جرام من الفول
101 بيضة
108 جرام شحم الخنزير
111 كوب زيت
32 كوسة
119 مل ماء
114 جرام سلمون أحمر
100 جرام خردل ديجون
33 بطاطس

طريقة.
ضعي البطاطس في وعاء الخلط.
ضعي خردل ديجون في وعاء الخلط.

ضعي السلمون الأحمر في وعاء الخلط.

ضع الماء في وعاء الخلط.
ضعي الكوسة في وعاء الخلط.
ضعي الزيت في وعاء الخلط.
ضع شحم الخنزير في وعاء الخلط.
ضع شحم الخنزير في وعاء الخلط.
ضع البيض في وعاء الخلط.
ضع حبوب الفاصوليا في وعاء الخلط.
تسييل محتويات وعاء الخلط.
صب محتويات وعاء الخلط في طبق الخبز.