سؤال

أنا في حيرة من أمري بسبب النصائح المتضاربة بين مستندات ما قبل 5.10.0 والمستندات الأحدث إصدار وحدة. أفضل ممارسات بيرل يوضح تمامًا أن سلاسل الإصدار ('v1.0.3') سيئة ومن المفترض أن يحدد أحد الإصدار كما يلي:

use version; our $VERSION = qv('1.0.3');

لكن وحدة الإصدار تقول أننا عدنا إلى استخدام سلاسل الإصدار:

use version 0.77; our $VERSION = qv("v1.2.3");

فهل تراجعنا أم أن هناك سببا وراء ذلك؟

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

المحلول

اقتباسك من أفضل ممارسات بيرل ليس صحيحا تماما.خاصة، عارية سلاسل النموذج

our $VERSION = v1.0.3;

محبطون.في الإصدار الأحدث من version.pm، يوصى باستخدام سلاسل حقيقية:

use version 0.77; our $VERSION = qv("v1.2.3");               # shorthand

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

كما تقول صفحة المستند التي قمت بالارتباط بها، يمكنك استخدام الإصدارات بدون "v" المعلق مسبقًا باستخدام المنطق المدمج في Perl 5.10:

إذا كان لديك وحدة تستخدم العلامة العشرية $VERSION (النقطة العائمة)، ولا تنوي تغيير ذلك أبدًا، فهذه الوحدة ليست مناسبة لك.لا يوجد شيء يكسبه version.pm من خلال مهمة $VERSION بسيطة.

إذن الجواب على سؤالك هو:استخدم بناء الجملة "v1.0.3" الجديد إذا كنت تكتب تعليمات برمجية جديدة تستخدم version.pm.التزم برقم عادي إذا كانت هذه هي الطريقة التي تمت بها كتابة التعليمات البرمجية القديمة، أو إذا كنت لا تريد الاعتماد بشكل صريح على Module.pm.

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