مقدمة في البرمجة

بسم الله والصلاة على رسول الله 

اما بعد:

 

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

Class

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

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

 

مثال:

كود برمجي (كلاس) اسمه بوستر, يقوم بحفظ البيانات في قاعدة البيانات في السيرفر، ومن المهام التي يقوم بها بوستر هي التحقق من البيانات المدخلة من قبل المستخدم قبل ارسالها لقاعدة البيانات.

وهذه المهمة تسمى في البرمجة فنكشن.

لنعتبر الفنكشن عبارة عن مهمة (مثل أي مهام يقوم بها لانسان) ولكل مهمة اسم يميزها عن غيرها. 

(الكلاس) بوستر لديه فنكشن لتدقيق البيانات قبل الحفظ.  ايضاً بوستر قد يحتوي على أكثر من فنكشن ولكل فنكشن وظيفية معينة.

 

مثال اخر:

مهام (الكلاس) بوستر هي التحقق من البيانات المدخلة من قبل المستخدم، وايضاً التحقق من الصورة المرفقة مع البيانات وتصغير حجمها قبل حفظها في قاعدة البيانات.

في هذا المثال بوستر لديه مهمتين:

- تدقيق بيانات. 

- تصغير صورة. 

--------------------------------------------------------------------------------------------------------------------------------

Package

هو عبارة عن مجلد داخل المشروع يحتوي على كلاسات، ويمكن تشبية Package بالعائلة لانها تضم عدد من الكلاسات. والمشروع قد يحتوي على اكثر من Package ولكل Package اسمه الخاص. 

--------------------------------------------------------------------------------------------------------------------------------

Function

في البرمجة يمكن للكلاس استخدام فنكشن خاصة بكلاس اخر (مالم تكن معروفة على انها خاصة فقط بالكلاس الموجودة بداخله (سوف يتم شرح هذه النقطة بعد قليل). 

مثال:

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

وكذلك ك في البرمجة بدلاً من تكرار كتابة الكود يتم الاستعانة بفنكشن داخل كلاس آخر لإنجاز المهمة.

مثال:

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

--------------------------------------------------------------------------------------------------------------------------------

Modifier

لكل شخص مهارات أو أشياء عامة قد يعرفها عنه أفراد العائلة والاصدقاء والزملاء... الى اخره. 

مثال:

الجميع قد يعرف عن تخصصك في الجامعة أو مكان وظيفتك.

 

 وفي بعض الاحيان قد تكون معروفة فقط على مستوى العائلة أو الأقارب أوالأشخاص المقربين منك.

مثال:

مشروع تجاري خاص بك أو اسماء الأولاد والبنات... إلى اخره. 

 

وفي بعض الاحيان قد تكون خاصة ولايعرفها أحد سواك

مثال:

رصيدك في البنك.

 

وتقريباً نفس الشيء في البرمجة؛ فيمكن تحديد مستوى إمكانية الوصول واستخدام الفنكشن داخل كل كلاس كما يلي: 

التحكم في استخدام الفنكشن يكون كماهو موضح في الجدول التالي:

--------------------------------------------------------------------------------------------------------------------------------

 

يمكن تصوير الأكود البرمجية وطريقة كتابتها كالبنية الجسدية للأنسان. 

1- قوي البنية: 

تكون الأكواد البرمجية مكتوبة بشكل احترافي ومرتبة، ولا يوجد تكرار في كتابة الأكواد، ولاتوجد ثغرات ولا توجد أيضاً أكواد غير مستخدمة. 

 

2- ضعيف البنية:

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

 

3- ضخم البنية:

يكون الكود البرمجي خليط بين القوي والضعيف.

 

 

 

 

 

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !