سؤال

بعد ان كتب المقالة الصغيرة على BDD لدي أسئلة من الناس يسأل ما إذا كانت هناك أي حالات استخدام على نطاق واسع من BDD (وتحديدا NBehave).

لذا سؤالي يذهب إلى المجتمع:هل لديك مشروع أن يستخدم BDD بنجاح ؟ إذا كان الأمر كذلك ، ما هي الفوائد التي حصلت عليها ، وما كان يمكن أن يكون أفضل ؟ هل BDD مرة أخرى ؟ هل توصي إلى أشخاص آخرين ؟

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

المحلول

لقد استخدمنا نوعا من BDD في مستوى الرمز في سيناريوهات مختلفة (مفتوحة المصدر و ND المشاريع).

  1. أقول رأي في MVC السيناريو ، أي نوع من المدخلات إلى قبول من المستخدم (DDD والمادة مدفوعة واجهة المستخدم في التحقق من صحة .صافي)

    result = view.GetData(
      CustomerIs.Valid, 
      CustomerIs.From(AddressIs.Valid, AddressIs.In(Country.Russia)));
    
  2. أقول طبقة الخدمة ، حول التعامل مع استثناء السلوك (ActionPolicy هو حقن الديكور):

    var policy = ActionPolicy
      .Handle<WebException>()
      .Retry(3);
    

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

نصائح أخرى

وكنت في فريق صغير أن تستخدم BDD على موقع على شبكة الانترنت.

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

وكما هو متوقع، لأنها عملت بقدر TDD، عموما جيدة. الصيغة الاختبارات كما السلوكيات كانت لطيفة عند التعامل مع العملاء وقدم وثيقة لائقة جدا، ولكن النوع الأول من ترغب كتبت السلوكيات في اللغة الإنجليزية واختبارات برمجة بدلا من محاولة الخروج ببعض لغة وسيطة الصعبة التي لا تناسب إما الغرض تماما.

وسيكون لا يزال BDD، فقط دون هذه الحيلة لطيف من محاولة تحريف لغة إلى لغة المرسومة random_looking.set of_Punctuation simple.spaces rather_than، ولكن ذلك لم يكن سوى موقفي غاضب من العمر، مبرمج، وإلا كان الجميع 100٪ سعيدة معه.

والموقع متاح ويعمل بكامل طاقته، لذلك أود أن نسميها النجاح: لديك نظرة

واعتدت مؤخرا على غرار BDD من منسوب المياه الجوفية في وثيقة متطلبات مستوى عال. لم أحصل على أي ردود فعل حول GWT من العملاء شراء مدرب بلدي وقال انه يحب ذلك كما كان واضحا جدا وسهلة الفهم. ملاحظة انه ليس لديه علم بهذا الاضطراب أن أعرف. أنا لم أضع في القصص المستخدم لأن ذلك ربما يكون قليلا جنية متجدد الهواء جدا للناس الذين لديهم خلفية شلال التقليدية. ربما سأحاول وضع في قصص المستخدم في المرة القادمة.

وبالمناسبة لم يكن هذا المشروع العين الكرة UI. وكان مشروع التكامل المزامنة البيانات من خدمة ويب في قاعدة بيانات. لذا فإنه يدل على أن GWT يعمل حتى لغير "كرة العين" معهد اليونسكو للإحصاء.

ولقد تم استخدام السياق، مواصفات الطراز على العديد من المشاريع (باستخدام MSpec) مع نجاحا كبيرا. أنا لا تزال تحاول فهم فوائد حقيقية من نمط السيناريو. وكلما يمكنني استخدام أسلوب السياق غير المطابقة للمواصفات، وأكثر وأنا أحب ذلك، وتشديد تطبيقات بلدي يشعر.

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