🫡تجلية الأكواد بتجنب الاشتراط

🫡تجلية الأكواد بتجنب الاشتراط

هناك الكثير من العوامل المؤثرة في جودة الكود ولعل من ادقها فهما أن يكون الكود بسيط-واضح.

اليوم سنأخذ الجملة الشرطية if statment وكيفية كتابة كود مقروء بحيث يتم تجنب تعقيدات الجمل الشرطة
هذه المهمة قد تبدو بديهة سهله, لكن من منا لم يرجع لكود قديم [ قد يكون قبل ٣ايام ] وتوقف عند الجملة الشرطية يتهجأها.

في المثال سنأخذ جملة شرطية لرصد التقدير بناءا على الدرجة

  • A: when score >= 90
  • B: when score >= 80
  • C: when score >= 70
  • D: when score >= 60
  • F: when score < 60

اول خطوة "خله يشتغل"

score = int(input("inter your score: "))
grade = "";

if (score >= 90):
   grade = 'A'
   print("Your grade is: ",grade)
elif (score >= 90):
   grade = 'B'
   print("Your grade is: ",grade)
elif (score >= 80):
   grade = 'C'
   print("Your grade is: ",grade)
elif (score >= 70):
   grade = 'D'
   print("Your grade is: ",grade)
elif (score < 60):
   grade = 'F'
   print("Your grade is: ",grade)

المراجعة الأولى, نتخلص من التكرار

score = int(input("inter your score: "))
grade = "";

if (score >= 90):
   grade = 'A'
elif (score >= 90):
   grade = 'B'
elif (score >= 80):
   grade = 'C'
elif (score >= 70):
   grade = 'D'

elif (score < 60):
   grade = 'F'

print("Your grade is: ",grade)

المراجعة الثانية, تقليل عددالاشتراطات

score = int(input("inter your score: "))
grade = "F";

if (score >= 90):
   grade = 'A'
elif (score >= 90):
   grade = 'B'
elif (score >= 80):
   grade = 'C'
elif (score >= 70):
   grade = 'D'

print("Your grade is: ",grade)

التقدير اخذ القيمة الأقل افتراضيا فإستعضنا عن الشرط الأخير

المراجعة الثالثة: الآن لنفترض انك تحتاج عرض التقدير في أماكن كثيرة من البرنامج. هنا يأتي دور الدوال function. نحتاج الآن دالة تستقبل درجة وترجع لنا التقدير. هنا حاول ان تختار اسم مناسب للدالة

def convert_score(score):
    grade = 'F'
    if (score >= 90):
       grade = 'A'
    elif (score >= 90):
       grade = 'B'
    elif (score >= 80):
       grade = 'C'
    elif (score >= 70):
       grade = 'D'

    return grade


score = int(input("inter your score: "))
print(convert_score(score))


print(convert_score(95))

الآن يمكن استدعاء الدالة convert_score لتحويل الدرجة لتقدير.

ملخص ماسبق

  • اخفاء الجمل الشرطية في دالة, ما أمكن
  • تسهيل التعديل
  • عدم تكرار الكود

  • عند تعديل الدرجة لأحد التقديرات يكون التعديل في مكان واحد
  • عند اضافة تقدير جديد A+,B+ سيكون التعديل في مكان واحد فقط
  • يقلل الأخطاء ويزيد فرصة تحديد مكان الخطاء بسهولة
  • الحصول على درجة من الدقة متساوية في كل مكان تستدعي الدالة
  • سهولة عمل test/unittest