วิธีใช้ GitHub Badges ให้เป็นมืออาชีพ

08-ส.ค.-18

คัมภีร์เทพ IT

คงมี Developer/Programmer มือใหม่ไม่น้อยที่ยังไม่มั่นใจและยังอายที่จะแชร์ความรู้/Code ให้คนอื่นๆ ได้รู้ได้อ่าน ส่วนหนึ่งอาจเพราะกลัวได้รับ Feedback ด้านลบเกี่ยวกับคุณภาพของ Code หากคุณเป็นคนหนึ่งที่อยากเพิ่มความมั่นใจให้ตนเอง ไม่ควรพลาดบทความของคุณ Cameron Barts เกี่ยวกับวิธีใช้ GitHub Badges เพื่อเพิ่มความเป็นมืออาชีพยิ่งขึ้น

ช่วงก่อนหน้านี้ไม่กี่เดือน คุณ Cameron เองก็เคยรู้สึกไม่มั่นใจเหมือนอย่างที่กล่าวไปตอนต้น แม้ Project งานของเขาจะทำตามที่ Tutorial แนะนำไว้ทุกอย่าง แต่เขาก็ยังไม่แน่ใจที่จะแชร์ Code ของตนเองอยู่ดี และแม้ App ของเขาจะทำงานได้ตามปกติทุกอย่าง แต่เขาก็ยังไม่อยากแชร์ Progress ของงานอยู่ดี เนื่องจากไม่อยากให้คนอื่นพูดถึงข้อผิดพลาดที่อาจซ่อนอยู่ ในทางตรงกันข้าม เขาอยากให้คนอื่นรู้สึกดีกับ Product ไม่ได้อยากให้ใครมาเห็นข้อผิดพลาดหรือปัญหามากนัก Cameron มีโอกาสได้เข้าไปดู Project ที่คนอื่นๆ ทำบน GitHub ทำให้เขาได้เห็นภาพเล็กๆ ที่อยู่ใน README page ดังรูป

แน่นอนว่า เขายังเป็นมือใหม่ ตอนนั้นเขาคิดว่ามันเป็นแค่รูปภาพที่ไม่น่าจะสำคัญอะไร แต่ต่อมาเขาก็สะดุดตากับภาพที่บอกว่าเป็น Project ที่ล้มเหลว ดังรูป

เขาจึงสงสัยว่า ทำไมถึงมีคนใส่ภาพที่บ่งบอกว่า สิ่งที่พวกเขาสร้างมัน Fail / ไม่ Work ล่ะ? ทำไมต้องบอกให้โลกได้รู้ด้วย? ด้วยความสงสัยและอยากรู้ เขาจึงหาทางดู Code ใน README page จนทำให้เห็น Code ดังรูป

เมื่อคลิกที่ Link มันก็พาเขาไปที่ Travis-CI ณ ตอนนี้เขาก็ Get ขึ้นมาทันทีว่า ปุ่มนี้ไม่ได้ถูก Upload โดย Project Developer แต่ Travis-CI เป็นตัว Update ให้ และเป็นปุ่มแบบ Dynamic ด้วย

สร้าง Badge(ป้าย) อันแรก

เมื่อ Cameron รู้ว่า Badge เหล่านั้นสร้างจาก Travis-CI ก็เริ่มคิดว่า เขาต้องมี Badge เป็นของตัวเองบ้างสิ ทั้งที่ Project ของเขาทั้งหมด ล้วนเกี่ยวกับการเขียน Code และการ Test แต่ทำไมถึงไม่มี Badge ขึ้นมาบ้างล่ะ? เขาจึงหาทาง Set up Travis-CI เพื่อ Run Unit Test เมื่อแก้ไขงานใน GitHub ตอนนี้ด้านบนของ Page ที่ Run Travis-CI ก็ปรากฏ Badge แล้ว เมื่อเขาคลิกมันก็จะได้รับ Markdown แล้วก็นำไป Add ลงใน README page ตอนนี้เมื่อดูใน Project page บน GitHub ก็พบว่า เขาได้ Badge อันแรกมาแล้ว ซึ่งทำให้เขาเริ่มติดใจการมี Badge เข้าแล้ว

มาตามล่า Badge อันต่อๆ ไปกัน

ด้วยเหตุที่ Cameron อยากให้มีสัญลักษณ์ที่แสดงให้เห็น Status ของ Project ที่ทำอยู่ เขาต้องการรู้ให้มากขึ้นไปอีก จึงเริ่มหา Badge อันอื่นๆ เพิ่ม จนมาพบ Badge อีกอันคือ Code Coverage ซึ่ง Coverage report จะถูกส่งโดย Travis-CI ไปยังเครื่องมือที่เรียกว่า CodeCov โดย Cameron แนะนำว่า ควรจะมี Badge ที่แสดงถึง Progress ของการ Test ด้วยซึ่งควรสัมพันธ์การ Test App ของคุณด้วย

Cameron ยังพบ License Badges ซึ่งมันก็ Make sense ถ้าคุณเองมี License ด้วย ดังนั้นเขาจึงเลือก License และ Add มันลงไปใน Repo ซึ่งการมี Badge ตัวนี้จะช่วยให้ถูกค้นพบผ่าน Google ได้ง่ายขึ้น และที่สำคัญ เขาได้พบข้อมูลนี้ ซึ่งมันจะช่วยให้คุณรู้จัก License Badge แบบต่างๆ

Cameron พบว่าความเปราะบางด้านความปลอดภัยมักเกิดจาก Software ที่ล้าสมัยแล้ว และในฐานะของ Developer มือใหม่ ก็พอจะรู้ว่ามันขึ้นอยู่กับ Software ที่ใช้ด้วย เขารู้จัก PyUp ผ่าน Talk Python to Me podcast ของ Michael Kennedy และเมื่อเขาดูในเว็บไซต์ ก็เห็นข้อความที่ชอบมากคือ “Free For Open Source” ซึ่งถือเป็นเรื่องโชคดีมากที่เขาเจอมัน และแน่นอนว่า เขา Ad มันลงไปใน README page ด้วย เขาค้นพบเกี่ยวกับ Pre-commit ซึ่งสามารถใช้เพื่อจัด Format ของ Code ก่อนที่จะ Commit ได้

Cameron พบว่าเราสามารถมี Badge เกี่ยวกับ Style ได้ ก่อนหน้านี้เขาเคยรู้สึกเบื่อๆ กับอะไรก็ตามที่เป็นสีดำมาก่อน แต่พอได้เห็นตัวอย่างของ Style Badge ขึ้นมา ก็เลยคิดว่าจะต้องมี Badge อันนี้บ้าง

ผลลัพธ์ที่ได้

หลังจากที่พยายามหา Badge มาใส่ใน GitHub ก็ทำให้ Project ของ Cameron มีคุณภาพที่ดียิ่งขึ้น เขาเพิ่ม License ในไป Project เพื่อให้แน่ใจว่า ทุกอย่างยังคง Update อยู่เสมอ ถ้าเขาต้องการ Badge ก็ต้องทำให้ Project เป็นไปตามมาตรฐานที่ควรเป็น ยิ่งไปกว่านั้น Cameron ยังมีความมั่นใจยิ่งขึ้นเกี่ยวกับ Project ที่ทำ จนแทบจะพูดได้ว่า Project ของเขาไม่มีช่องโหว่อะไรแล้ว และเชื่อว่ามีโอกาสน้อยมากที่จะได้รับ Feedback ด้านลบในเรื่อง Security หรือการไม่ปฏิบัติตามข้อกำหนด และพูดได้ว่า เขารู้สึกดีกับ Code ที่เขียนมากขึ้น เพราะตอนนี้เขามี GitHub Badges เหล่านี้ แล้วคุณล่ะมี GitHub Badges อะไรบ้าง

ที่มา:  https://medium.freecodecamp.org/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง