كيفية استخدام شارات GitHub للتوقف عن الشعور بأنك مستجد

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

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

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

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

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

[![Build Status](//travis-ci.com/username/projectname.svg?branch=master)](//travis-ci.com/username/projectname)

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

شاريتي الأولى

لذلك ، بمجرد أن اكتشفت شارة البناء من Travis-CI ، كان عليّ الحصول عليها لمشروعي. بعد كل شيء ، كان مشروعي بأكمله يتعلق بكتابة الاختبارات واستخدامها. فلماذا لا يكون لديك شيء يديرها تلقائيًا؟

لذلك قمت بإعداد Travis-CI لإجراء اختبارات الوحدة الخاصة بي عندما قمت بدفع التغييرات إلى GitHub. في أعلى الصفحة حيث يديرها Travis-CI ، توجد الشارة. نقرت عليه وحصلت على تخفيض السعر. أضفته إلى ملف README الخاص بي. لقد انتقلت إلى صفحة المشروع على GitHub و VOILA! كانت هناك شاريتي الأولى. كنت مدمن مخدرات!

الصيد

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

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

قادمًا من خلفية أمنية في الجيش ، أعلم أن معظم نقاط الضعف تأتي من برامج قديمة. بصفتي مطورًا جديدًا ، أعلم أن هذا ينطبق أيضًا على البرامج التي يعتمد عليها برنامجك. سمعت عن PyUp من خلال بودكاست Talk Python to Me لمايكل كينيدي . عندما انتقلت إلى الموقع ، رأيت الكلمات التي كنت قد بدأت أحب رؤيتها ، "مجانية المصدر مفتوح" يجري البحث عن شارات جديدة ، كنت محظوظًا. من المؤكد أنهم يقدمون شارة ، لذلك بالطبع أضفتها إلى README.

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

النتيجة النهائية

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

والأهم من ذلك ، أنا أكثر ثقة في مشروعي. يمكنني التحدث عنها مع العلم أنه لا توجد فجوات في ذلك. أعلم أنه من غير المرجح أن أتلقى تعليقات بشأن عدم مسؤوليتي فيما يتعلق بالأمن أو عدم امتثال الأسلوب.

ببساطة ، أشعر بتحسن تجاه الكود الخاص بي لأن لديّ شارات GitHub هذه.