متى تحسّن var قابلية القراءة
الاستخدامات الجيدة والسيئة لـ var
متى تحسّن var قابلية القراءة درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 4 دروس في المجموع.
var خيار أسلوبي
استخدام var اختياري. فعند استخدامه جيدًا يجعل الشفرة أنظف، لكن استخدامه بلا عناية قد يخفي معلومات مهمة. ويتعلم المطورون الجيدون متى يلجؤون إليه.
جيد: الطرف الأيمن الواضح
عندما يوضح تعبير التهيئة النوع بجلاء، يزيل var الضوضاء من دون التضحية بالوضوح.
public class Main {
public static void main(String[] args) {
var name = "Alice";
var customers = new java.util.ArrayList<String>();
customers.add(name);
System.out.println(customers);
}
}سيئ: النوع مخفي داخل دالة
عندما لا يكون النوع واضحًا من الاستدعاء، قد يضر var بسهولة القراءة. ففي هذا المثال، لا يمكنكم معرفة ما تعيده parse من النظرة الأولى.
public class Main {
static int parse(String s) {
return Integer.parseInt(s);
}
public static void main(String[] args) {
var result = parse("123");
System.out.println(result + 1);
}
}جيد: الأنواع العامة الطويلة
في تعريفات الأنواع العامة المطولة، يُعد var خيارًا واضح الفائدة، لأن النوع يظهر في تعبير التهيئة على أي حال.
import java.util.HashMap;
import java.util.List;
public class Main {
public static void main(String[] args) {
var groups = new HashMap<String, List<Integer>>();
groups.put("odd", List.of(1, 3, 5));
System.out.println(groups);
}
}سيئ: القيم الحرفية الرقمية الملتبسة
قد يخفي var ما إذا كنتم تقصدون int أو long أو double. وإذا كان النوع الرقمي الدقيق مهمًا، ففضلوا كتابة النوع صراحةً.
public class Main {
public static void main(String[] args) {
var x = 100;
long big = x * 1000000L;
System.out.println(big);
}
}استخدموا أسماء ذات معنى
مع var، يصبح اسم المتغير أكثر أهمية. اختاروا أسماء وصفية حتى يفهم القراء الغرض منه، حتى من دون معرفة النوع.
public class Main {
public static void main(String[] args) {
var customerCount = 5;
var welcomeMessage = "Welcome";
System.out.println(welcomeMessage + " (" + customerCount + ")");
}
}جيد: متغيرات الحلقات
في حلقات for المحسّنة، يكون نوع العنصر واضحًا من المجموعة، لذلك تكون قراءة var سلسة.
import java.util.List;
public class Main {
public static void main(String[] args) {
var words = List.of("sky", "sea", "sun");
for (var word : words) {
System.out.println(word.length() + ": " + word);
}
}
}سيئ: الاستدعاءات المتسلسلة
عندما تأتي القيمة من سلسلة استدعاءات طويلة، قد يكون النوع الناتج مفاجئًا. ويوضح النوع الصريح النتيجة للقارئ.
import java.util.List;
public class Main {
public static void main(String[] args) {
var count = List.of(1, 2, 3, 4).stream().filter(n -> n > 2).count();
System.out.println(count);
}
}الاتساق داخل الملف
اختاروا أسلوبًا متسقًا. فقد يكون خلط var والأنواع الصريحة عشوائيًا داخل شفرة متشابهة مربكًا. اهدفوا إلى قابلية التنبؤ.
public class Main {
public static void main(String[] args) {
var first = "Jane";
var last = "Doe";
var full = first + " " + last;
System.out.println(full);
}
}عامل الماسة مفيد أصلًا
مع var، يمكنكم الاحتفاظ بمعامل النوع في الطرف الأيمن. وهذا أوضح من الاعتماد على عامل الماسة وحده عند حذف النوع من الطرف الأيسر.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
var names = new ArrayList<String>();
names.add("Sam");
System.out.println(names.get(0));
}
}قاعدة عامة
استخدموا var عندما يجعل تعبير التهيئة النوع واضحًا ويكون الاسم ذا معنى. وتجنبوه عندما يكون النوع مهمًا لكنه غير ظاهر. فالهدف هو سهولة القراءة للشخص التالي.
public class Main {
public static void main(String[] args) {
var greeting = "Readable code wins";
System.out.println(greeting);
}
}تحقق سريع
أي موقف يمثل الاستخدام الأفضل لـ var من حيث سهولة القراءة؟
مراجعة
لقد تعلمتم متى يكون var مفيدًا:
- جيد: تعبيرات تهيئة واضحة، وأنواع عامة طويلة، ومتغيرات حلقات واضحة
- سيئ: نتائج دوال مخفية، وأنواع رقمية ملتبسة، وسلاسل استدعاءات معقدة
- استخدموا أسماء ذات معنى للتعويض عن غياب النوع
- حافظوا على الاتساق داخل الملف
- حسّنوا الشفرة لتكون مناسبة للقارئ التالي
الأسئلة الشائعة
هل درس «متى تحسّن var قابلية القراءة» مجاني؟
نعم — نص درس «متى تحسّن var قابلية القراءة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 4 دروس في المجموع.
ماذا ستتعلم في «متى تحسّن var قابلية القراءة»؟
الاستخدامات الجيدة والسيئة لـ var تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «متى تحسّن var قابلية القراءة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استخدام var للمتغيرات المحلية
- متى تحسّن var قابلية القراءة
- var في حلقات for
- قيود var