AzLearn

الدوال النقية

Pure Functions

مفهوم ~17 دقيقة

الدوال النقية — Pure Functions

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

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

مثال عملي

index.ts

هذه الدالة لا تعرف شيئاً عن UI أو ملفات أو شبكة. لذلك اختبارها مباشر.

لا تجعل الاختبار يعاني

إذا كانت الدالة صعبة الاختبار، ربما تفعل أكثر من اللازم. قسّمها قبل أن تضيف mock معقداً.

تحدي — Challenge