Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 2074

บันทึกการอ่านเรื่อง How GitHub engineers learn new codebases

$
0
0

จากบทความเรื่อง How GitHub engineers learn new codebases
ทำการอธิบายว่านักพัฒนาที่ GitHub ทำการเรียนรู้ code ใหม่ ๆ อย่างไรบ้าง ?
มีเป้าหมายเพื่อให้ให้นักพัฒนาทำความเข้าใจกับ code ใหม่ ๆ ได้ดีและรวดเร็ว
ไม่ว่าจะมีประสบการณ์น้อยหรือมากก็ตาม
มาดูแนวทางกันว่าเป็นอย่างไรกันบ้าง

เริ่มจากการทำความเข้าใจภาพรวมของระบบก่อนเสมอ

ว่าระบบมันทำงานอย่างไร
มีเป้าหมายเพื่ออะไรบ้าง
ดูเอกสารต่าง ๆ ที่มีอยู่ ทั้ง README, API document รวมทั้งคู่มือต่าง ๆ
ทำการศึกษาโครงสร้าง และ folder structure ของ project
ว่ามีการแบ่งอย่างไร
ว่าแต่ละส่วนมีหน้าที่การทำงานอย่างไร
ว่ามีความสัมพันธ์กันอย่างไร

จากนั้นนำเครื่องมือเข้ามาช่วยในการวิเคราะห์ code เช่น

  • Linter
  • Static code analysis
  • Dependency graph
  • GitHub Copilot

สิ่งที่ต้องตอบให้ได้คือ

  • Code นี้มีไว้ทำอะไร
  • Code นี้ทำงานอย่างไร

ในส่วนของการ coding นั้น ให้เริ่มจากการแก้ไขตาม issue ต่าง ๆ

จะช่วยให้เราเรียนรู้ได้จรงประเด็นและรวดเร็วขึ้น
เนื่องจากต้องเข้าใจ ก่อนจะแก้ไขปัญหานั่นเอง
ได้ประโยชน์ทั้งตัวเองและทีม

ทำการวิเคราะห์จาก observability ต่าง ๆ
ทั้ง telemetry และ metric เพื่อดูพฤติกรรมการทำงานของระบบ

ให้ทำการเขียน test เพื่อตรวจสอบความเข้าใจของเราที่มีต่อ code ว่าถูกหรือไม่
ยิ่งถ้าเจ้อปัญหาต่าง ๆ ยิ่งจะช่วยให้เราเข้าใจมากยิ่งขึ้น

ควรเรียนรู้กันเป็นทีม หรือ เรียนรู้จากคนอื่น

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

ปิดพวก Pull request ต่าง ๆ มาเรียนรู้เพิ่มเติมอีกได้
หรือจะทำการ demo ต่าง ๆ กับเพื่อร่วมทีม

เมื่อทำการเรียนรู้ใด ๆ แล้ว ให้ทำการเขียนเอกสารหรืออธิบายสิ่งต่าง ๆ ออกมา

เพื่อให้เราและทีมเข้าใจ รวมทั้งช่วยเหลือสมาชิกใหม่ ๆ อีกด้วย

สุดท้ายคือ การเรียนรู้จากการสอน


Viewing all articles
Browse latest Browse all 2074

Trending Articles