x32x01
  • بواسطة x32x01 ||
يعني إيه Annotations في الـJava ؟ 🤔
تخيل إنك بتكتب كود، وعايز تضيف "ملاحظات" أو "علامات" للـ Compiler أو الـ JVM عشان تفهم حاجة معينة من غير ما تغير الكود نفسه. هنا بتظهر Annotations.
هي ببساطة Metadata بتضيفها للكود، يعني "بيانات عن بيانات". مش بتأثر على الـ Runtime مباشرة، لكنها بتوجّه الكومبيلر أو أدوات معينة (زي Frameworks) ازاي تتعامل مع الكود بتاعك.

طيب بتستخدم في إيه؟​

1. تنظيم الكود:
بتساعدك تضيف معلومات إضافية عن الكود بطريقة منظمة.

2. تسهيل التعامل مع Frameworks:
لو استخدمت Spring أو Hibernate، هتلاقيهم بيعتمدوا على الـ Annotations بشكل كبير عشان تحدد الوظائف.

3. تحسين أداء الكود:
بتستخدم عشان تعمل Validations أو تحدد الـ Configurations بدل فايلات XML زمان.

أنواع Annotations في الـJava​

1. Built-in Annotations:
الـ Java نفسها بتوفر Annotations جاهزة زي:
Code:
@Override:
ودي اللي بتأكد إنك بتعمل Override لميثود موجودة أصلًا.
Code:
@Override
public String toString() {
    return "Example";
}

Code:
@Deprecated:
لو حاجة في الكود قديمة وبتحذر المطورين ما يستخدموهاش.

Code:
@SuppressWarnings:
بتخلي الكومبيلر يتجاهل تحذيرات معينة.

النوع التاني Custom Annotations:
لو الـ Built-in مش كفاية، ممكن تعمل الـ Annotation الخاص بيك زي كده:
Code:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
    String value();
}

طيب الـ Annotations دي بتشتغل إزاي؟​

Retention:
تحدد الـ Annotation ده موجود فين (Source, Class, Runtime).
Target:
تحدد الـ Annotation بيتطبق على إيه (Class, Method, Field, etc.).
Processing:
ممكن تستخدم Reflection عشان تفسر الـ Annotation أثناء الـRuntime.
مثال عملي بسيط:
لو بتعمل Validation على User Input:
Code:
public class User {
    @NotNull
    private String name;
}

بس Framework زي Spring بيشوف الـAnnotation
@NotNull وبيعمل Validation
أوتوماتيك على القيمة.
ليه مهمة؟
- بتقلل الكود اللي بتكتبه
(Less Boilerplate).
- بتخلي الكود Organized.
- بتفتح الباب لاستخدام Tools وFrameworks بشكل أكتر كفاءة.

نصيحة لو هتعمل Custom Annotations، فكر كويس لأنها بتأثر على الـ Maintainability بتاعة الكود.
استخدمها لما تكون محتاج تضيف معلومات للكود بوضوح وبدون تعقيد.
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
747
x32x01
x32x01
x32x01
الردود
0
المشاهدات
498
x32x01
x32x01
x32x01
الردود
0
المشاهدات
500
x32x01
x32x01
x32x01
الردود
0
المشاهدات
548
x32x01
x32x01
x32x01
الردود
0
المشاهدات
574
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,738
المشاركات
1,948
أعضاء أكتب كود
373
أخر عضو
zezo
عودة
أعلى