"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > البند تجنب السلاسل التي تكون فيها الأنواع الأخرى أكثر ملاءمة

البند تجنب السلاسل التي تكون فيها الأنواع الأخرى أكثر ملاءمة

تم النشر بتاريخ 2024-11-02
تصفح:564

1. تجنب استخدام السلاسل كبدائل لأنواع البيانات الأخرى:

تم تصميم السلاسل النصية لتمثيل النص، ولكن غالبًا ما يتم إساءة استخدامها لتمثيل الأرقام أو التعدادات أو الهياكل المجمعة.
إذا كانت البيانات رقمية بطبيعتها، فاستخدم أنواعًا مثل int أو float أو BigInteger، وليس String.

String age = "30";  // incorreto
int age = 30;       // correto

2. السلاسل هي بدائل سيئة لأنواع التعداد:

استخدام التعداد أكثر أمانًا وأكثر قابلية للقراءة من استخدام السلاسل لتمثيل القيم المذكورة.

String status = "ACTIVE";  // incorreto
Status status = Status.ACTIVE;  // correto, usando enum

3. السلاسل هي بدائل أدنى للأنواع المجمعة:

قد يؤدي تمثيل البيانات المعقدة كسلسلة واحدة، مفصولة بمحددات، إلى حدوث أخطاء ومشكلات في الصيانة. من الأفضل إنشاء فئات لهذه البيانات.

مثال غير صحيح (استخدام السلسلة لتمثيل البيانات المجمعة):

String personData = "John|Doe|30";

مثال صحيح (استخدام الفصل):

class Person {
    String firstName;
    String lastName;
    int age;

    // Construtor e métodos adequados
}

4. السلاسل كبدائل للموارد (مثال: المتغيرات المحلية لسلسلة المحادثات):

يمكن أن يؤدي استخدام السلاسل لتحديد الموارد كمتغيرات محلية لمؤشر الترابط إلى مشكلات أمنية وتضارب الأسماء. استبدلها بمفاتيح أكثر أمانًا.

مثال غير صحيح (استخدام السلسلة لتحديد المتغير المحلي لمؤشر الترابط):

Map threadLocalVariables = new HashMap();
threadLocalVariables.put("myVariable", value);

مثال صحيح (استخدام مفتاح آمن):

class Key {
    // implementação da chave
}

Map threadLocalVariables = new HashMap();
Key key = new Key();
threadLocalVariables.put(key, value);

الاستخدام الصحيح لـ ThreadLocal:

يتضمن التصميم المثالي للمتغيرات المحلية للخيط استخدام ThreadLocal، والذي يسمح بإنشاء المتغيرات المرتبطة بكل مؤشر ترابط بطريقة آمنة.

مثال على الاستخدام الصحيح لـ ThreadLocal:

private static final ThreadLocal threadId = ThreadLocal.withInitial(() -> 0);

public static void main(String[] args) {
    System.out.println(threadId.get());  // obtem o valor da variável local da thread
}

خاتمة:

تجنب إغراء استخدام السلاسل في كل شيء. إن استخدام أنواع بيانات أكثر ملاءمة أو إنشاء أنواع جديدة يمنع الأخطاء ويحسن إمكانية القراءة ويجعل التعليمات البرمجية أكثر كفاءة وأمانًا.

أمثلة من الكتاب:

Item  Evite as strings onde outros tipos forem mais adequados

Item  Evite as strings onde outros tipos forem mais adequados

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/giselecoder/item-62-evite-as-strings-onde-outros-tipos-forem-mais-adequados-2o63?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3