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

مستوى واحد من التجريد: مفتاح الوظائف النظيفة

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

One Level of Abstraction: The Key to Clean Functions

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

إليك مثال حقيقي لإنشاء المستخدم في تطبيق ويب:

// ❌ A function doing too many things at different abstraction levels
function createUser(userData) {
  // Validate data
  if (!userData.email || !userData.email.includes('@')) {
    return 'Invalid email';
  }
  if (userData.password.length 



تمزج هذه الوظيفة بين مستويات مختلفة من التجريد:

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

دعونا نعيد تشكيلها باتباع المستوى الفردي لمبدأ التجريد:

// ✅ Clean version with one level of abstraction
function createUser(userData) {
  const validationError = validateUserData(userData);
  if (validationError) return validationError;

  const securePassword = hashPassword(userData.password);
  const formattedUser = formatUserData(userData.email, securePassword);

  return saveUserToDatabase(formattedUser);
}

function validateUserData({ email, password }) {
  if (!email || !email.includes('@')) return 'Invalid email';
  if (password.length 



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

  1. قابلية القراءة: تُقرأ الوظيفة الرئيسية كقصة، وتصف ما يحدث على مستوى عالٍ
  2. قابلية الصيانة: كل وظيفة لها مسؤولية واحدة، مما يجعل التغييرات أكثر أمانًا
  3. قابلية الاختبار: يمكنك اختبار كل جزء من المنطق بشكل مستقل
  4. قابلية إعادة الاستخدام: يمكن إعادة استخدام هذه الوظائف المركزة في سياقات أخرى

الوجبات السريعة الرئيسية

عند كتابة الوظائف:

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

تذكر: إذا كنت تخلط بين "كيف" و"ماذا" في نفس الوظيفة، فمن المحتمل أنك تتعامل مع مستويات متعددة من التجريد. تقسيمهم!

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/56_kode/one-level-of-abstraction-the-key-to-clean-functions-2ekb?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3