عندما يتعلق الأمر بمنهجية البرمجة، غالبًا ما يظهر طريقتان شائعتان: البرمجة التعريفية والبرمجة الحتمية. ولكل منها نقاط قوتها وحالات الاستخدام المثالية، خاصة في JavaScript. دعونا نستكشف هذين الأسلوبين مع بعض الأمثلة.
البرمجة الحتمية تشبه إعطاء مجموعة مفصلة من التعليمات. أنت تخبر الكمبيوتر بكيفية تحقيق نتيجة محددة خطوة بخطوة. فكر في الأمر على أنه إرشاد شخص ما خلال وصفة ما - افعل هذا أولاً، ثم افعل ذلك.
إليك مثال كلاسيكي لجمع مجموعة من الأرقام باستخدام أسلوب الأمر:
في هذا المثال، نقوم بالتكرار يدويًا عبر المصفوفة ونجمع المجموع. يتم تعريف كل خطوة بشكل واضح: ابدأ بالرقم 0، ثم كرر كل رقم، واستمر في الإضافة إلى الإجمالي.
من ناحية أخرى، تركز البرمجة التعريفية على ما تريد تحقيقه بدلاً من كيفية القيام بذلك. أنت تصف النتيجة المرجوة، ويحدد النظام الأساسي الخطوات اللازمة للوصول إلى هناك.
دعونا نعيد كتابة نفس عملية الجمع باستخدام المنهج التعريفي:
هنا، تقوم طريقة التصغير بتجريد تفاصيل الحلقة والتراكم. أنت تعلن ببساطة أنك تريد تقليل المصفوفة إلى قيمة واحدة (المجموع)، وتتولى جافا سكريبت الباقي.
لنفترض أنك تريد تصفية الأرقام الزوجية من مصفوفة.
المنهج الحتمي:
يمكنك التكرار يدويًا على المصفوفة، والتحقق من كل رقم، ودفع الأرقام الزوجية بشكل مشروط إلى مصفوفة جديدة.
المنهج التعريفي:
باستخدام الفلتر، أنت ببساطة تعلن نيتك: "أعطني جميع الأرقام الزوجية." تتعامل طريقة التصفية مع التكرار والتحقق من الحالة نيابةً عنك.
كل من الأنماط التصريحية والأمرية لها أماكنها في تطوير TypeScript. يمكن أن تكون التعليمات البرمجية الحتمية أكثر تفصيلاً وأصعب في القراءة ولكنها توفر المزيد من التحكم. وفي الوقت نفسه، تميل التعليمات البرمجية التعريفية إلى أن تكون أكثر إيجازًا وقابلية للقراءة، مما يسهل صيانتها.
في المرة القادمة التي تقوم فيها بالبرمجة، فكر في الطريقة التي تناسب احتياجاتك بشكل أفضل. هل تحتاج إلى تحكم دقيق؟ الذهاب أمر ضروري. هل تحتاج إلى رمز واضح وقابل للصيانة؟ قد يكون التصريح هو أفضل رهان لك. برمجة سعيدة!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3