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

إتقان وسيطات الوظائف: الأقل هو الأكثر في JavaScript

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

Mastering Function Arguments: Less is More in JavaScript

مرحبًا زملائي المطورين! ؟ اليوم، دعونا نتعمق في جانب مهم من كتابة جافا سكريبت نظيف وقابل للصيانة: إدارة وسائط الوظائف

المشكلة مع الكثير من الحجج

هل سبق لك أن واجهت وظيفة تبدو كهذه؟

function createMenu(title, body, buttonText, cancellable, theme, fontSize, callback) {
  // ...a whole lot of logic here
}

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

قاعدة الحجتين

إليك القاعدة الذهبية: حاول قصر وظائفك على وسيطتين أو أقل.
لماذا؟ فيما يلي بعض الأسباب المقنعة:

  • تحسين قابلية الاختبار: عدد أقل من الوسائط يعني عدد أقل من حالات الاختبار لتغطية جميع الاحتمالات.
  • سهولة القراءة المحسنة: من الأسهل فهم غرض الوظيفة في لمحة.
  • تقليل العبء المعرفي: تقليل التعامل العقلي بين المعلمات للمطورين الذين يستخدمون الوظيفة.

ولكن ماذا لو كنت بحاجة إلى المزيد من المعلمات؟

سؤال عظيم! هذا هو المكان الذي يأتي فيه سحر تدمير الكائنات. تحقق من ذلك:

function createMenu({ title, body, buttonText, cancellable, theme = 'light', fontSize = 16, callback = () => {} }) {
  // Your implementation here
}

// Usage
createMenu({
  title: "Settings",
  body: "Adjust your preferences",
  buttonText: "Save",
  cancellable: true
});

فوائد هذا النهج

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

نصيحة احترافية: تعزيز TypeScript

إذا كنت تستخدم TypeScript، فيمكنك اتخاذ خطوة أخرى إلى الأمام:

interface MenuOptions {
  title: string;
  body: string;
  buttonText: string;
  cancellable: boolean;
  theme?: 'light' | 'dark';
  fontSize?: number;
  callback?: () => void;
}

function createMenu(options: MenuOptions) {
  // Implementation
}

يضيف هذا أمانًا للنوع والإكمال التلقائي، مما يجعل التعليمات البرمجية الخاصة بك أكثر قوة!

التفاف

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

ما هي أفكارك حول هذا النهج؟ هل لديك أي نصائح أخرى لإدارة وسائط الوظيفة؟ دعونا نناقش في التعليقات!

ترميز سعيد! ?

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/56_kode/mastering-function-arguments-less-is-more-in-javascript-7a6?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3