سؤال

إذا كان لديك مشروع، يصدر مكتبة وتطبيقًا، فكيف تتعامل مع أرقام الإصدارات بينهما.

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

تؤدي الإصدارات الجديدة من المكتبة إلى إصدارات جديدة من التطبيق (للاستفادة من جميع الميزات الجديدة)، ولكن الإصدارات الجديدة من التطبيق قد لا تؤدي إلى إطلاق إصدارات جديدة من المكتبة.الآن كيف يتم التعامل مع أرقام الإصدارات:مستقل تمامًا أم يجب أن يعتمد إصدار المكتبة والتطبيق بطريقة ما؟

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

المحلول

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

إذا قمت بفصلهما، فلا يزال بإمكانك منحهما نفس رقم الإصدار عندما يكون ذلك مناسبًا - على سبيل المثال، بعد حدوث انقطاع كبير في التوافق، يمكنك إصدار الإصدار 2.0 من كليهما في وقت واحد.

ويوضح المثال التالي:يتم إصدار xsltproc (تطبيق سطر الأوامر) كجزء من libxslt (مكتبة)، لذلك ليس لديه رقم إصدار خاص به.لكن libxslt يعتمد على مكتبتين أخريين، وأرقام إصداراتهما مستقلة.

$ xsltproc --version
Using libxml 20628, libxslt 10120 and libexslt 813
xsltproc was compiled against libxml 20628, libxslt 10120 and libexslt 813
libxslt 10120 was compiled against libxml 20628
libexslt 813 was compiled against libxml 20628

نصائح أخرى

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

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

إذا كنت متأكدًا من رغبتك دائمًا في تشغيل جميع التطبيقات والمكتبة بشكل متساوٍ، فيمكنك استخدام نفس الأرقام، ولكن هذا يضيف قيدًا ليس لسبب قوي.

لقد أنشأنا تطبيقًا يستخدم إطارًا.نحتفظ بأرقام إصدارات منفصلة لكليهما.

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

لذلك رأيي...احتفظ بأرقام الإصدارات منفصلة.

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