المبرمج وكاتب الكود: ما الفرق وما مبادئ البرمجة الجيدة؟
Programmer vs Code Writer
الجواب المختصر
كاتب الكود (Code Writer) يعرف صياغة اللغة ويهتم بسؤال: كيف أكتب هذا السطر صحيحًا نحويًا؟ أما المبرمج (Programmer / Problem Solver) فيهتم بسؤال: هل هذا الحل مناسب للمشكلة ويلبي حاجة العميل؟ يفكر في المشكلة والعميل والمدخلات والمعالجات والمخرجات والقيود والمخاطر قبل أن يفتح بيئة التطوير، ويتبع مبادئ البرمجة الجيدة: الوضوح، وسهولة الصيانة، والوثوقية، وإعادة الاستخدام.
المقارنة
| الجانب | كاتب الكود | المبرمج |
|---|---|---|
| طريقة التفكير | الأوامر والسينتاكس فقط | تحليل المشكلة وتصميم الحل قبل الكود |
| الهدف | أن يشتغل البرنامج بأي طريقة | حل صحيح قابل للصيانة يلبي المتطلبات |
| التعامل مع المشكلة | يبدأ بالكود مباشرة | متطلبات، تفكيك، خوارزمية، ثم كود |
| جودة الكود | أسماء عشوائية وتكرار | منظم، أسماء واضحة، دوال، تعليقات عند الحاجة |
| الاختبار | مثال واحد وانتهى | خطة اختبار: حالات طبيعية وحدودية وخاطئة |
| العمل ضمن فريق | كوده صعب الفهم | كوده مفهوم وسهل المراجعة |
مثال: برنامج نتيجة طالب
معلم يريد برنامجًا يحسب معدل طالب في ثلاث مواد: أقل من 50 «راسب» وإلا «ناجح». كاتب الكود يكتب إدخالًا وجمعًا وقسمة وشرطًا ثم ينتهي، دون أن يسأل: هل قد تكون الدرجة خارج المدى 0–100؟ هل نحتاج تخزين النتائج؟ هل سيحتاج المعلم تقارير؟
المبرمج يسأل قبل الكود عن المدخلات الرسمية والقواعد الإضافية (حضور، حد أدنى لكل مادة)، ومن سيستخدم البرنامج، وهل تكفي واجهة نصية. ثم يفكك المشكلة ويكتب خوارزمية أو شبه كود ويحدد حالات الاختبار قبل أن يحوّلها إلى كود.
الأدوات الذهنية لذلك هي التفكير الحاسوبي، ثم حالات الاختبار. وطريقة التمثيل: مخطط الانسياب والكيانات والعلاقات.
المصطلحات: عربي ↔ English
- كاتب كود
- Code Writer
- مبرمج
- Programmer
- قابلية الصيانة
- Maintainability
- الوثوقية
- Reliability
- إعادة الاستخدام
- Reusability
- وضوح الكود
- Readability
لماذا يهمّ هذا في BTEC؟
الفرق بين المبرمج وكاتب الكود هو التفكير في المتطلبات والتصميم والاختبار والتحسين، لا مجرد كتابة كود يعمل مرة واحدة.
أسئلة تجيب عنها هذه الصفحة
- ما الفرق بين المبرمج وكاتب الكود؟
- ما هي مبادئ البرمجة الجيدة؟
مفاهيم مرتبطة
- التفكير الحاسوبي: التفكيك والتعرف على الأنماط والتجريد والتمثيلالتفكير الحاسوبي أسلوب منظم لحل المشكلات قبل كتابة الكود: تفكيك المشكلة إلى أجزاء، والتعرف على الأنماط المتشابهة، وتجريد التفاصيل غير المهمة، وتمثيل المشكلة بنموذج مكتوب أو مرسوم.
- حالات الاختبار: الطبيعية والحدودية والخاطئةخطة اختبار جيدة تجرّب ثلاثة أنواع من الحالات: حالات طبيعية متوقعة، وحالات حدودية عند حدود القاعدة، وحالات خاطئة أو غير متوقعة. فاختبار مثال واحد لا يكفي لإثبات أن البرنامج صحيح.
- مخطط الانسياب (Flowchart): الرموز ومعانيها وكيف ترسم خوارزميةمخطط الانسياب رسم يمثل خطوات الحل برموز متصلة بأسهم: بيضاوي للبداية والنهاية، ومستطيل للعملية، ومتوازي أضلاع للإدخال والإخراج، ومعين للقرار بمسارين، وأسهم لاتجاه التنفيذ.
- الكيانات والعلاقات (Entities & Relationships): 1:1 وواحد لمتعدد ومتعدد لمتعددالكيان (Entity) شيء مهم في النظام نحتاج تخزين بيانات عنه، وله خصائص (Attributes)، وترتبط الكيانات بعلاقات (Relationships) من ثلاثة أنواع: واحد لواحد، واحد لمتعدد، ومتعدد لمتعدد. وفهمها يسبق تصميم قاعدة البيانات والكود.
- بيئات التطوير وصيانة البرامج والتحكم بالإصدارات (Git)كيف تخفف بيئات التطوير المتكاملة (IDE) صعوبة تعديل البرامج الكبيرة، وكيف يتتبع نظام Git التغييرات ويسهّل العمل الجماعي بمفاهيم Repository وCommit وBranch وPull Request.
- تسمية المتغيرات: camelCase وsnake_case وقواعد الأسماء الواضحةالمتغير موقع في الذاكرة يخزن قيمة أثناء التنفيذ. الاسم الجيد معبّر عن نوع البيانات ومعناها وخالٍ من المسافات والرموز غير المسموحة، ويُلتزم بأسلوب واحد ثابت: camelCase أو snake_case.
عن كاتب الصفحة

مدرّس BTEC IT · الأردن
- نوع المحتوى
- شرح مبني على مادة أحمد دومي — وليس نصًّا رسميًّا من Pearson
- آخر مراجعة
- ملاحظة على المصدر
- تعتمد هذه الصفحة على ملاحظات محاضرة لأحمد دومي، وأُضيفت إليها أمثلة وشرح توضيحي عام.
- المصدر
- مادة البرمجة (أحمد دومي) — هل أنت مبرمج أم مجرد كاتب كود؟