أداتان أساسيتان في تطوير البرمجيات هما Patch و Diff . طريقة عملهما ليست غامضة، لكنني أعتقد أن هذا سيكون موضوعًا شيقًا. 😉
كلاهما قوي للغاية ، وهذا يشبه لمس السطح تمامًا ، فلديهما المزيد من المرافق والوظائف الأخرى. باستخدام هاتين الأداتين ، يمكننا إنشاء التحكم في الإصدار ،
فرق
نشير إلى المقارنة ، فهي تقارن الملف "الأصلي" بالملف "الجديد" ، ويعلمنا بالاختلافات الموجودة بينهما. تتيح لنا هذه الأداة أيضًا إنشاء ملفات .patch التي نستخدمها لإنشاء تصحيحات لبرامجنا.
بقعة
إنه الأمر الذي نقوم به حرفياً "بتصحيح" ملفنا الأصلي ، بإضافة و / أو إزالة الأسطر وفقًا للتعليمات الواردة في ملف التصحيح.
يوجد أيضًا vimdiff ، وهي أداة مرئية لتطبيق التصحيحات دون الحاجة إلى ملف .patch، حيث تقارن بين النسختين "الأصلية" و"الجديدة"، وتتيح لك تعديل كل سطر على حدة أو المستند بأكمله ضمن الملف نفسه. لن أشرح هذا، لكنني أعتقد أنه جدير بالذكر.
مثال
الآن المتعة. مثال!
هذا هو الحال ، لدينا نص رائع يسألك عن اسمك وعمرك ، إذا كان عمرك يزيد عن 18 عامًا ، فإنه يخبرك أنه يمكنك التصويت ، وإلا فإنه يخبرك أنه لا يمكنك التصويت.
original.sh
#! / bin / bash echo "أدخل اسمك:" اقرأ اسم الصدى "أدخل عمرك:" اقرأ العمر إذا [[18 -lt $ age]] ثم صدى "Hello $ name ، أنت تبلغ من العمر $ ويمكنك التصويت!" else صدى "Hello $ name ، أنت تبلغ من العمر $ ولا يمكنك التصويت ..." fi
صورة الكود في فيم
تم ، ها هو البرنامج النصي قيد التشغيل:
يبدو أن كل شيء يعمل بشكل جيد
لذلك ، بصفتنا مستخدمين جيدين ، فإننا نشارك البرنامج النصي الخاص بنا مع صديق :) ، لكننا نتلقى رسالة تفيد بوجود عيب فيه ، وأنه عندما يبلغ سن 18 عامًا ، فإنه لا يمكنه التصويت في الوقت المناسب.
خطأ منطقي
نبدأ الآن في تصحيح الخطأ الصغير وإجراء بعض التعديلات ...
new.sh
#! / bin / bash maxAge = 18 echo "أدخل اسمك:"؛ قراءة اسم صدى "اكتب عمرك:" ؛ قراءة العمر إذا [[$ maxAge -le $ age]]؛ ثم ردد صدى "Hello $ name ، عمرك $ سنة ويمكنك التصويت!" else صدى "مرحبًا $ name ، أنت تبلغ من العمر $ ولا يمكنك التصويت ..." fi exit 0
كود جديد مكتوب بلغة Vim
لنفترض أن النص ثقيل جدًا. لذلك، لكي لا نرسل البرنامج النصي بأكمله مرة أخرى، قمنا بإنشاء .patch
$ فرق -u original.sh new.sh> patch.patch
والآن لدينا التحديث. إليكم عرضًا له في محرر Vim :
هذا ما تبدو عليه تعليمات التصحيح. الخطوط التي لم يتم تعديلها باللون الأبيض ، باللون الأزرق تلك التي تمت إزالتها ، باللون البرتقالي تلك المضافة.
لتطبيق ذلك، نستخدم ببساطة ملف .patch الموجود في البرنامج النصي المراد تعديله. هنا يُسمى originalAmigo.sh ، وهو نسخة طبق الأصل من البرنامج النصي original.sh .
نص صديق
$ patch originalFriend.sh <patch.patch
وهذا يجعل ملف originalAmigo.sh الخاص بنا على النحو التالي:
صديق السيناريو بعد تطبيق التصحيح
كما ترى ، من السهل جدًا الحصول على الاختلافات وتطبيق التصحيحات. كل هذا مني.
تحياتي الناس سنقرأ يوم الجمعة القادم.