"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > البرمجة التعريفية مقابل البرمجة الحتمية في جافا سكريبت

البرمجة التعريفية مقابل البرمجة الحتمية في جافا سكريبت

تم النشر بتاريخ 2024-11-08
تصفح:332

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

البرمجة الحتمية: إخبار الكمبيوتر بكيفية القيام بذلك

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

إليك مثال كلاسيكي لجمع مجموعة من الأرقام باستخدام أسلوب الأمر:

Declarative vs. Imperative Programming in JavaScript

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

البرمجة التعريفية: إخبار الكمبيوتر بما تريد

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

دعونا نعيد كتابة نفس عملية الجمع باستخدام المنهج التعريفي:

Declarative vs. Imperative Programming in JavaScript

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

متى تستخدم أي؟

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

مثال عملي أكثر: تصفية مصفوفة

لنفترض أنك تريد تصفية الأرقام الزوجية من مصفوفة.

المنهج الحتمي:

Declarative vs. Imperative Programming in JavaScript

يمكنك التكرار يدويًا على المصفوفة، والتحقق من كل رقم، ودفع الأرقام الزوجية بشكل مشروط إلى مصفوفة جديدة.

المنهج التعريفي:

Declarative vs. Imperative Programming in JavaScript

باستخدام الفلتر، أنت ببساطة تعلن نيتك: "أعطني جميع الأرقام الزوجية." تتعامل طريقة التصفية مع التكرار والتحقق من الحالة نيابةً عنك.

خاتمة

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

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

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/avwerosuoghene/declarative-vs-Imberative-programming-in-javascript-2ipe?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3