سؤال

لدينا الكثير من السلاسل في ملفات الموارد لدينا التي تحتوي على تنسيق .eg

"{0} انتقل إلى {1}"

يتم تمرير هذه السلاسل إلى string.format () من خلال التطبيقات، في بعض الأحيان يقوم المترجمون في فوضات "علامات التنسيق"، لذلك أرغب في العثور على / كتابة أداة تتحقق من أن جميع الأوتار في ملف المورد لها تنسيق صالح.

أعرف كل مفتاح أرقام Args التي يتم تمريرها إلى String.format بحيث يمكن أن تتغذى في التحقق من الصحة أيضا.

بصرف النظر عن التحقق من أن "{" تطابق "}" هل هناك طريقة سهلة للعثور على معظم الأخطاء في سلاسل التنسيق؟

(أنا أستخدم .NET، سيتم إجراء هذا الفحص بالطبع كجزء من عملية البناء)

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

المحلول 3

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

لذا

if (numberOfArguments == 3)
{
  try
  {
    String.Format(theTranslatorString, "", "", "")
  }
  catch
  {
     // tell the translator there is a problem with the string format
  }
}

بالطبع سيكون هذا مكتوبا دون "إذا" لكل عدد من الحجج في الحياة الحقيقية.

نصائح أخرى

هذا يبدو وكأنه سيناريو اختبار الوحدة الكلاسيكية. يمكنك قيادة اختبار البناء / الوحدة الآلي قبالة الزناد ارتكاب رمز المصدر لهذه؟ سيحقق اختبار الوحدة ببساطة من أن كل سلسلة تنسيق لا تزال تحليلها.

يبدو أنك التحقق من صحة سلسلة في التعبير، لذلك يجب عليك استخدام التعبيرات العاديةينظر الى رابط النص

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