البرمجة

تحسين كود FizzBuzz في JavaScript

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

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

  2. التحقق من “FizzBuzz” أولاً:
    بما أن الحالة التي يحتوي فيها الرقم على 3 و 5 في الوقت نفسه هي الحالة الأكثر تحديًا، يمكنك التحقق من هذه الحالة أولاً لتجنب تكرار التحقق منها في الحالات الفردية للأرقام.

  3. فصل المنطق بين الطباعة والتحقق من الشروط:
    من الممكن فصل التحقق من الشروط عن عملية الطباعة بحيث يكون لديك دالة تأخذ رقمًا وتعيد الناتج المطلوب (“Fizz” أو “Buzz” أو “FizzBuzz” أو الرقم نفسه) دون طباعتها. ثم يمكنك دمج هذه الدالة مع عملية الطباعة.

  4. تجنب استخدام القيم السحرية:
    بدلاً من استخدام القيم الثابتة في الشرط مثل 3 و 5 و 15، يمكنك استخدام متغيرات لتمثيل هذه القيم، مما يجعل الكود أكثر قابلية للتوسيع والتعديل مستقبلاً.

  5. التعليقات والوثائق:
    يمكنك إضافة تعليقات ووثائق للكود لشرح ما يفعله كل قسم وما هي الشروط المفروضة.

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

javascript
function isDivisibleBy(num, divisor) { return num % divisor === 0; } function fizzBuzz(num) { if (isDivisibleBy(num, 3) && isDivisibleBy(num, 5)) { return "FizzBuzz"; } else if (isDivisibleBy(num, 3)) { return "Fizz"; } else if (isDivisibleBy(num, 5)) { return "Buzz"; } else { return num; } } for (var i = 1; i <= 20; i++) { console.log(fizzBuzz(i)); }

هذا الكود أكثر تنظيمًا ووضوحًا ويتيح لك إعادة استخدام الوظائف وتوسيعها بسهولة في المستقبل.

المزيد من المعلومات

بالطبع، إليك المقال المكتمل:


كيف يمكنني تحسين هذا الكود في جافا سكريبت؟

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

الكود الأصلي

دعونا نلقي نظرة على الكود الأصلي الذي تم تقديمه:

javascript
for(var i = 1; i <= 20; i++){ switch (i) { case 3: case 6: case 9: case 12: case 18: console.log("Fizz"); break; case 5: case 10: case 20: console.log("Buzz"); break; case 15: console.log("FizzBuzz"); break; default: console.log(i); } }

هذا الكود يقوم بمهمته، وهي طباعة الأرقام من 1 إلى 20 وفقًا للشروط التالية:

  • إذا كان الرقم قابلاً للقسمة على 3، فسيتم طباعة “Fizz”.
  • إذا كان الرقم قابلاً للقسمة على 5، فسيتم طباعة “Buzz”.
  • إذا كان الرقم قابلاً للقسمة على 3 و 5 في الوقت نفسه، فسيتم طباعة “FizzBuzz”.

التحسينات المقترحة

بناءً على الكود الأصلي، هناك بعض التحسينات التي يمكن تطبيقها:

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

  2. التحقق من “FizzBuzz” أولاً:
    بما أن الحالة التي يحتوي فيها الرقم على 3 و 5 في الوقت نفسه هي الحالة الأكثر تحديًا، يمكنك التحقق من هذه الحالة أولاً لتجنب تكرار التحقق منها في الحالات الفردية للأرقام.

  3. فصل المنطق بين الطباعة والتحقق من الشروط:
    من الممكن فصل التحقق من الشروط عن عملية الطباعة بحيث يكون لديك دالة تأخذ رقمًا وتعيد الناتج المطلوب (“Fizz” أو “Buzz” أو “FizzBuzz” أو الرقم نفسه) دون طباعتها. ثم يمكنك دمج هذه الدالة مع عملية الطباعة.

  4. تجنب استخدام القيم السحرية:
    بدلاً من استخدام القيم الثابتة في الشرط مثل 3 و 5 و 15، يمكنك استخدام متغيرات لتمثيل هذه القيم، مما يجعل الكود أكثر قابلية للتوسيع والتعديل مستقبلاً.

  5. التعليقات والوثائق:
    يمكنك إضافة تعليقات ووثائق للكود لشرح ما يفعله كل قسم وما هي الشروط المفروضة.

الكود المحسن

استنادًا إلى التحسينات المذكورة أعلاه، يمكننا الحصول على الكود التالي:

javascript
function isDivisibleBy(num, divisor) { return num % divisor === 0; } function fizzBuzz(num) { if (isDivisibleBy(num, 3) && isDivisibleBy(num, 5)) { return "FizzBuzz"; } else if (isDivisibleBy(num, 3)) { return "Fizz"; } else if (isDivisibleBy(num, 5)) { return "Buzz"; } else { return num; } } for (var i = 1; i <= 20; i++) { console.log(fizzBuzz(i)); }

هذا الكود أكثر تنظيمًا ووضوحًا ويتيح لك إعادة استخدام الوظائف وتوسيعها بسهولة في المستقبل.

الختام

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

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر