سؤال

تخيل هذا العادة في DLL.

giveacodicetagpre.

هل تضيف القيم Enum كسر التوافق الثنائي؟إذا كنت قد أغيرها، فهل ستكون حالية استراحة؟

giveacodicetagpre.

رأيت هذه الإجابة ، ولكن يبدو أن معالجة حالة إدراج قيمة.إذا أضفت قيما إلى نهاية فقط ، هل هذا موافق؟

هل كانت مفيدة؟

المحلول

لا، هذا لا يكسر التوافق الثنائي (بما أن الجمعية ستظل تحميل الخ)، لأن العادة هي الثوابت الحرفية الصحيحة أساسا.من الواضح أن إدراج القيم في الوسط فكرة خطيرة حقا، لكنك استبعدت بالفعل ذلك.

ومع ذلك، يمكن أن يسبب عدد من المشكلات الأخرى التي تحتاج إلى حرياتها ضد:

  • قد لا يتوقع بعض الكود (بيانات GransoSodicetagCode على وجه الخصوص) القيم الجديدة؛من الناحية الفنية كانت هذه مشكلة قبل ذلك أيضا، نظرا لأن العادة لا يتم فحصها (يمكن أن تحتوي متغيرات Enum على قيم غير محددة)
  • أي شيء يستعرضه العادة المتاحة ستحصل على نتائج مختلفة
    • على وجه الخصوص، قد يفشل التسلسل والتحارف بشكل غير متوقع إذا كانت هناك بيانات تستخدم عودة غير متوقعة بعد عن طريق العميل المعين

نصائح أخرى

يجب أن تكون على ما يرام، على افتراض أنك إلحاق فقط إلى النهاية.ومع ذلك، فإن خطر الانكسر سيأتي من حقيقة أن قيم المعهد محددة ضمنيا، بدءا من 0. إذا كان شخص ما يستمر في القيم إلى DB، فإنك تخاطر بتغيير القيم التي تقدر رسم خريطة ل.

كمثال، إذا قمت بتغيير برنامجك لتكون:

giveacodicetagpre.

أي شخص يخزن هذه القيم في DBS سترى أن الأشياء التي كانت ذات يوم أحمر، أصبحت الآن باللون الأزرق، وما كان أخضر أحمر الآن.

من الناحية المثالية، يجب عليك تحديد Enum الخاص بك مثل ذلك:

giveacodicetagpre.

ثم، عند إضافة واحدة جديدة، يجب أن يكون لديك:

giveacodicetagpre.

سيساعد ذلك في منع أي مشاكل إصدار محتملة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top