ปัจจุบัน Source Control หรือ Version Control ถือเป็นสิ่งที่ Developer น่าจะรู้จักกันเป็นอย่างดี โดยเฉพาะ Developer ที่ทำงานร่วมกันเป็นทีมใหญ่ ๆ คงหลีกเลี่ยงไม่ได้ที่จะใช้งานมัน แต่ Solo Developer ที่ไม่ได้ทำงานเป็นทีม ก็ควรใช้งานมันด้วยเช่นกัน ซึ่ง Nick Hodges ได้มีเหตุผลดี ๆ เกี่ยวกับ 9 เหตุผลที่ Solo Developers ควรใช้ Source Control
Nick พบว่า Developer เป็นจำนวนมากที่ไม่ใช้ Source Control ซึ่งเป็นที่น่าประหลาดใจพอสมควร ไม่น่าเชื่อว่า ยังมีทีม Developer อีกจำนวนมากที่ไม่ได้ใช้ Source Control แต่หากเป็น Personal Project ก็เป็นไปได้ที่ Developer หลายคนจะไม่ใช้ Source Control ซึ่งเป็นเรื่องที่น่าเสียดาย คำถามน่าสนใจกว่านั้นก็คือ แล้วทำไมเราถึงควรใช้ Source Control ล่ะ? เรามาหาคำตอบกันจากบทความนี้
1. เป็นการสร้างนิสัยที่ดี
ตอนนี้คุณอาจทำงานคนเดียว แต่ในอนาคตอาจจะไม่ใช่ หรือ Project ที่คุณทำเป็นงานอดิเรกในช่วงสุดสัปดาห์ ก็อาจกลายเป็น Project ใหญ่ที่มี Developer หลายคนช่วยกันทำก็เป็นได้ หากเป็นเช่นนี้การที่คุณใช้งาน Source Control เป็นประจำก็จะช่วยให้คุณมีความพร้อม
นอกจากนี้ การเข้าใจและการใช้ Source Control โดยเฉพาะ Git เป็น ถือเป็นสิ่งที่จำเป็นในโลกของการพัฒนา Software ในยุคปัจจุบัน
2. ช่วยป้องกัน Code ของคุณ
หากคุณใช้ Service อย่างเช่น GitHub ไม่ว่าจะผ่าน Public หรือ Private Repository ก็ตาม Code ของคุณก็จะถูก Backup ไว้ที่อื่นด้วย
แน่นอนว่า ที่จริงคุณสามารถ Zip มันได้ทุกเมื่อที่คุณต้องการและเก็บไว้ใน Thumb Drive แต่คุณจะไม่ได้รับประโยชน์ใด ๆ จากสิ่งที่กล่าวในบทความนี้
3. ช่วยป้องกันปัญหาร้ายแรงที่อาจเกิดขึ้น
บางครั้งคุณอาจเผลอลบบางอย่างโดยไม่ตั้งใจไป คุณอาจทำผิดพลาดแล้วดันเปลี่ยนแปลง Code ที่คุณไม่ได้ต้องการจะเปลี่ยนแปลงมัน สิ่งนี้อาจทำให้คุณรู้สึก ซุ่มซ่าม แล้วก็ตามด้วยความรู้สึกเสียใจกับสิ่งที่เกิดขึ้น
Source Control จะสามารถช่วยคุณจากสถานการณ์เหล่านี้ได้ โดยทำให้การกลับไปสู่สถานะก่อนหน้านี้เป็นเรื่องที่ทำได้ง่ายดาย ซึ่งมันก็เหมือนกับ “Undo” Feature ที่เรารู้จักกันนั่นแหละ
4. ช่วยให้คุณสามารถย้อนกลับมาได้
สมมติว่า คุณเขียนและขาย Software บางอย่างเป็นอาชีพเสริมของคุณ คุณมีการ Release ตัว Update หรือ Version ที่ใหม่กว่า และคุณก็ได้รับการร้องขอให้ Support จากลูกค้าของคุณ เนื่องจากเกิด Bug ในขณะใช้ Version ที่เก่ากว่าอยู่
Source Control จะช่วยให้คุณสามารถสร้าง Codebase ใหม่ สำหรับการ Release และ Debug ปัญหาที่ User กำลังเผชิญอยู่ได้อย่างง่ายดาย
5. ทำให้คุณคิดถึง Process ของคุณมากขึ้น
แม้ว่า คุณจะทำงานคนเดียว แต่คุณก็ควรพิจารณาไตร่ตรองและจัดระเบียบวิธีที่คุณเขียน Code ให้ดี
หากคุณเคยชินกับการตรวจสอบ Code ของคุณลงใน Source-Control System และเขียน Check-in Comments มันจะช่วยให้คุณคิดถึงสิ่งที่คุณกำลังทำอยู่ รวมทั้งวิธีการทำสิ่งต่างๆ คุณจะมีการจัดระบบระเบียบและมีการพิจารณาไตร่ตรองอย่างรอบคอบมากยิ่งขึ้น
6. สามารถทดลองได้อย่างอิสระ
Source Control จะช่วยให้คุณมีอิสระที่จะได้ทดลองทำบางสิ่งบางอย่างที่ใหม่หรือไม่เคยทำ
เมื่อคุณรู้ว่า คุณสามารถย้อนกลับไปสู่สถานะก่อนหน้าได้ตลอดเวลา จะทำให้คุณสามารถทดลองหรือลองทำสิ่งที่คุณอาจเคยลังเลที่จะทำ และการทดลองนั้น ก็อาจจะเป็นวิธีการที่ยอดเยี่ยมก็เป็นได้
7. สามารถติดตามการเปลี่ยนแปลงที่เกิดขึ้นได้
แม้เราจะทำงานคนเดียว แต่เราก็ไม่สามารถจดจำทุกสิ่งทุกอย่าง หรือการเปลี่ยนแปลงต่าง ๆ ที่เราเคยทำไว้ ได้ทั้งหมดหรอก
และเชื่อว่าอย่างน้อยครั้งหนึ่งในชีวิตของคุณ เมื่อคุณมองไปที่ Code แล้วพูดว่า “เอ๊ะ! มันเกิดขึ้นได้อย่างไรนะ”
ด้วย Source-Control System คุณจะสามารถตอบคำถามนั้นได้อย่างง่ายดาย คุณจะสามารถติดตามได้ว่ามีการเปลี่ยนแปลงเกิดขึ้นจากที่ไหนและเมื่อใด และยังสามารถย้อนดู Comment ที่คุณเคยเขียนไว้ได้อีกด้วย ซึ่งจะทำให้คุณเข้าใจที่มาที่ไปของการเปลี่ยนแปลง Code
8. ช่วยให้คุณเห็นว่ามีอะไรที่เปลี่ยนแปลงบ้าง
ในบางครั้ง สิ่งต่าง ๆ ก็อาจจะเริ่มสร้างผลกระทบ
มันอาจเป็นส่วนหนึ่งของ Application ส่วนที่คุณไม่ได้ใช้งานอยู่ ที่มีการทำงานแปลกไปจากที่คุณคิดไว้ หรือบางทีมันอาจจะพังไปทั้งหมดก็ได้ และคุณก็ไม่รู้สาเหตุด้วยซ้ำว่ามันเกิดจากอะไร Source Control จะช่วยให้คุณสามารถติดตาม Process หรือส่วนที่เกี่ยวข้องได้จาก History ของ Code เพื่อดูว่ามีการเปลี่ยนแปลงอะไรบ้าง และการเปลี่ยนแปลงเหล่านั้นส่งผลกระทบต่อ Project โดยรวมอย่างไรบ้าง
9. มันฟรีและใช้งานง่าย
Git ถือเป็น ผู้ชนะที่ทิ้งห่างคู่แข่งอย่างมาก ที่สำคัญคือมัน “ฟรี” GitHub นั้นให้บริการฟรี สำหรับ Nonprivate Repositories หรือแม้กระทั่งที่เป็น Private Repositories ที่สำคัญคือ มันมี Tutorials มากมายนับ 348 ล้าน Tutorials ที่คุณสามารถเรียนรู้วิธีใช้งาน Git ได้แบบฟรี ๆ อีกด้วย
สรุป
เชื่อว่าคงมีหลายคนที่คิดหาเหตุผลดี ๆ อื่น ๆ ได้อีกมากมาย ยุคนี้หากคุณไม่ได้เก็บ Code ไว้ใน Service เช่น GitHub คุณก็จะเป็น Developer ที่ล้าสมัย ดังนั้น การใช้ Source Control หรือ Version Control เป็น ถือเป็นคุณสมบัติพื้นฐานที่ Developer ยุคนี้จำเป็นต้องมีไปเสียแล้ว
ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 28 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่
Source: https://betterprogramming.pub/