الجمعة المنبثقة: التصحيح والفرق

اثنان من الأدوات الأساسية في تطوير البرمجيات هي بقعة y فرق. كيفية عملهم ليست لغزا ، لكنني أعتقد أن هذا سيكون منشورًا مثيرًا للاهتمام. 🙂

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


فرق

نشير إلى المقارنة ، فهي تقارن الملف "الأصلي" بالملف "الجديد" ، ويعلمنا بالاختلافات الموجودة بينهما. تتيح لنا هذه الأداة أيضًا إنشاء ملفات .patch التي نستخدمها لإنشاء تصحيحات لبرامجنا.


بقعة

إنه الأمر الذي نقوم به حرفياً "بتصحيح" ملفنا الأصلي ، بإضافة و / أو إزالة الأسطر وفقًا للتعليمات الواردة في ملف التصحيح.


هناك أيضا com.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

كود جديد مكتوب همة

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

$ فرق -u original.sh new.sh> patch.patch

والآن لدينا رقعة لدينا. هنا عرض في همة:

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

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

ولتطبيقه ، نستخدم ببساطة ملف التصحيح في البرنامج النصي ليتم تصحيحه. هنا يسمى الأصلي Amigo.sh، وهي نسخة طبق الأصل من البرنامج النصي original.sh

نص صديق

نص صديق

$ patch originalFriend.sh <patch.patch

وهذا يترك لنا ملفنا الأصلي Amigo.sh وبالتالي:

صديق السيناريو بعد تطبيق التصحيح

صديق السيناريو بعد تطبيق التصحيح

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

تحياتي الناس سنقرأ يوم الجمعة القادم.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   زريكس قال

    رائع شكرا جزيلا لك you

  2.   انجيل بليد قال

    إذا كنت تريد بعض الألوان ، يرجى استخدام colordiff ^ __ ^

  3.   إليوتيمي 3000 قال

    الآن فهمت كيف تعمل البقع في دبيان.

  4.   Fer_pflores قال

    مرحبًا ، أعلم أنه يمكن عرض إشعارات النظام مع إرسال الإخطار من وحدة التحكم ، ولكن ما أرغب في القيام به هو أن أتمكن من تحديد الوقت أو المدة لإظهار إشعار لي ، فهل هناك أي طريقة للقيام بذلك؟ أنا أستخدم الابتدائية ، التي تستند إلى Ubuntu 12.04 ، في حال كانت مفيدة ، شكرًا

    1.    إيلاف قال

      حسنًا ، يمكن القيام بذلك باستخدام نظام cron 😉

      1.    Fer_pflores قال

        وكيف يتم ذلك؟ لقد تعلمت للتو كيفية استخدام الأمر notify-send

        1.    ادا قال

          يمكنك البحث عن cron هنا في المدونة وهناك العديد من المشاركات حول هذا الموضوع 🙂

  5.   خواكين قال

    جيد جدا، شكرا لك!

  6.   صائد قال

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