سؤال

لدينا مجموعة من الطبقات البحري التي هي في الغالب بذرة AXIS2، والهياكل العظمية وما إلى ذلك بالنسبة لبعض WSDLs المعقدة، يولد AXIS2 طن من فاصوليات Java-Beans، و Stops وما إلى ذلك، وأنا متأكد من وجود حالات أخرى أيضا عند استخدام جيل السيارات أيضا.

في الوقت الحالي، نتعامل معها كأعضاء من الدرجة الأولى الآخرين في قاعدة التعليمات البرمجية لدينا، ويتم تخزينها في نفس الحزم.

ومع ذلك، عند القيام بإعادة ضبط، فإن التنظيف وغيرها يصبح من الصعب ضربات التحذيرات التي تأتي من هذه الفئات التي تم إنشاؤها تلقائيا. على سبيل المثال، إذا كنت أحاول تنظيف التعليمات البرمجية لاستخدام GAVA1.5 Generics، فلا توجد طريقة جيدة لمعرفة عدد هذه الفئات المخالفة من هذه الدروس التي يتم إنشاؤها تلقائيا.

يجب أن أقوم بفصل هذه الأجزاء الذاتية إلى حزمة مختلفة؟ كيف تخزن الرجال هذه القطع الأثرية في المستودع؟

تحرير: أرى "توليد أثناء عملية البناء" في عدد قليل من الإجابات أدناه. بينما أرى فوائد القيام بذلك، لا أرى تماما كيف يمكنني الابتعاد عن فحص مستودع.

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

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

المحلول

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

نصائح أخرى

ملخص أفضل الممارسات:

  • اجعله قابل للتكرار
    • إنشاء رمز ولدت كجزء من عملية الإنشاء.
    • لا تتحقق من التعليمات البرمجية التي تم إنشاؤها إلى عنصر تحكم مصدر. (هل تحقق في المصدر. مثل WSDL)
  • الحفاظ على التعليمات البرمجية الناتجة منفصلة عن التعليمات البرمجية المدارة
    • استخدم مجلد مصدر مختلف للإخراج الناتج.
    • تسليم .jar منفصلة بحيث يصبح هذا التعليمات البرمجية التي تم إنشاؤها تبعية.
    • فكر في استخدام مشروع IDE مختلفا (أو وحدة مافن)

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

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

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

بهذه الطريقة، ستشهد أنشطتك المرجعية الخاصة بك التعليمات البرمجية ذاتي مثل مكتبة الطرف الثالث بدلا من المصدر المراد التلاعب به.

بالنسبة لكل مجموعة من القطع الأثرية التي تم إنشاؤها، قم بإنشاء مشروع جديد يؤدي الجيل، ثم حزم التحف في جرة وملفات Zip Source، ثم الرجوع إليها من تطبيقك. يبقي الأمور الجميلة والفصل، ويؤكد على حقيقة أن القطع الأثرية المولدة ليست للتغيير من قبل IDE.

مع MAVEN و AXISTOOLS-MAVEN-MAVEN-Plugin، فإن المصادر التي تم إنشاؤها هي أماكن في مجلد مصدر مختلف في دليل "الهدف". هذا الدليل المستهدف هو حيث يولد Maven جميع الملفات والأشياء، لذلك يمكن تنظيفها.
هذا مدعوم جدا، لأن الملفات التي تم إنشاؤها أيضا تظهر أيضا في مجلد مصدر مختلف داخل IDE.

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