Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جمل الحماية

جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 38 من 59.

جمل الحماية (Guard clauses) هي جمل شرطية توضع في بداية الدالة (method) للتحقق من الشروط غير الصالحة والعودة مبكراً. وهي تساعد في جعل الكود أكثر نظافة وقابلية للقراءة من خلال معالجة الحالات الحدية (edge cases) أولاً.

لنلقِ نظرة على دالة بدون جمل الحماية (guard clauses):

public int divide(int num, int den) {
   if (den != 0) {
       if (num >= 0) {
           return num / den;
       } else {
           return -1;
       }
   } else {
       return -1;
   }
}

نفس الطريقة باستخدام جمل الحماية (guard clauses):

public int divide(int num, int den) {
   if (den == 0) return -1;
   if (num < 0) return -1;
   return num / den;
}

بعد تنفيذ أي من الكودين باستخدام divide(10, 2)، تكون النتيجة هي:

5

challenge icon

التحدي

سهل

أنشئ طريقة (method) تسمى validatePassword تأخذ وسيطًا واحدًا (argument):

  1. سلسلة نصية (String) (password) للتحقق من صحتها

يجب أن تستخدم الطريقة عبارات الحماية (guard clauses) للتحقق من صحة كلمة المرور وإرجاع رسالة نصية بناءً على هذه القواعد:

  • إذا كانت كلمة المرور null: أرجع "Password cannot be null"
  • إذا كانت كلمة المرور فارغة: أرجع "Password cannot be empty"
  • إذا كان طول كلمة المرور أقل من 8: أرجع "Password must be at least 8 characters"
  • إذا كانت كلمة المرور تحتوي على مسافات: أرجع "Password cannot contain spaces"
  • إذا اجتازت جميع عمليات التحقق: أرجع "Valid password"

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static String validatePassword(String password) {
        // اكتب الكود الخاص بك هنا
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String password = scanner.nextLine();
        if (password.equals("null")) {
            password = null;
        }
        System.out.println(validatePassword(password));
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow