นักพัฒนาความสัมพันธ์

จะคุ้นเคยกับโปรเจกต์โอเพนซอร์สอย่างไร?

2018-10-03
ความสัมพันธ์นักพัฒนา
th

คุณมีงานที่ต้องใช้โปรเจกต์โอเพนซอร์สบางโปรเจกต์ หรือหัวหน้ามอบหมายงานให้คุณไปเรียนรู้เรื่องบางอย่าง จะเริ่มต้นอย่างไร? จะเริ่มจากไหน? นิสัยของผมเป็นแบบนี้:

  1. ก่อนอื่น ค้นหาและอ่านบล็อกและข้อมูลของโปรเจกต์นั้น ผ่าน google คุณสามารถหาบล็อกที่แนะนำโปรเจกต์บางโปรเจกต์ได้ อ่านอย่างรวดเร็วก็จะเข้าใจคร่าวๆ เกี่ยวกับจุดประสงค์ ฟังก์ชัน และการใช้งานพื้นฐานของโปรเจกต์

  2. อ่านเอกสารของโปรเจกต์ เน้นสิ่งที่คล้าย Getting started, Example ฯลฯ เรียนรู้วิธีดาวน์โหลด ติดตั้ง และแม้กระทั่งความรู้พื้นฐานที่จำเป็นสำหรับการใช้งานโปรเจกต์

  3. ถ้าโปรเจกต์มี example สำเร็จรูป ก่อนอื่นลองรัน example ตามที่เอกสารเบื้องต้นแนะนำ ถ้ารันได้สำเร็จ ยินดีด้วยที่เริ่มต้นได้ดี ถ้าเจอปัญหา ก่อนอื่นลองหาคำตอบในเอกสาร FAQ ฯลฯ ของโปรเจกต์ ถัดไป สามารถใช้ปัญหา (เช่น ข้อความ exception) เป็นคำค้นหาเพื่อหาวิธีแก้ไข คุณเจอ คนอื่นก็มักเจอ เพื่อนที่ใจดีจะบันทึกกระบวนการแก้ไข สุดท้าย สามารถส่งปัญหาไปที่ mailing list ของโปรเจกต์ ขอให้ทุกคนช่วยดู ก่อนที่จะรัน example สำเร็จ อย่าพยายามแก้ไข example

  4. หลังจากรัน example แรกแล้ว ลองแก้ไข example ตามความเข้าใจและความต้องการของคุณ ทดสอบฟังก์ชันขั้นสูง ฯลฯ

  5. หลังจากเข้าใจการใช้งานพื้นฐานแล้ว ต้องเริ่มเข้าใจโปรเจกต์อย่างลึกซึ้ง เช่น การจัดการการตั้งค่าของโปรเจกต์ ฟังก์ชันขั้นสูง และแนวปฏิบัติที่ดีที่สุด โดยทั่วไปโปรเจกต์ที่ดำเนินไปด้วยดีจะมีคู่มือผู้ใช้จากตื้นไปลึก คุณไม่จำเป็นต้องอ่านคู่มือนี้ตั้งแต่ต้นจนจบ ตามเวลาและความสนใจ โดยเฉพาะความต้องการของงานของคุณเอง อ่านบทที่สำคัญและจดบันทึก (แนะนำ evernote)

  6. ถ้าเวลาอนุญาต ลองสร้างโปรเจกต์จากซอร์สโค้ด โดยทั่วไปโปรเจกต์โอเพนซอร์สจะมีคู่มือการสร้าง แนะนำวิธีสร้างสภาพแวดล้อมสำหรับการพัฒนา การดีบัก และการสร้าง ลองสร้างเวอร์ชันหนึ่ง

  7. ถ้าเวลาอนุญาตและสนใจ สามารถลองอ่านซอร์สโค้ด:

(1) ก่อนอ่านซอร์สโค้ด ดูว่าโปรเจกต์มีเอกสารสถาปัตยกรรมและการออกแบบหรือไม่ อ่านเอกสารเหล่านี้จะเข้าใจการออกแบบและโครงสร้างโดยรวมของโปรเจกต์ ตอนอ่านซอร์สโค้ดจะไม่งง

(2) ก่อนอ่านซอร์สโค้ด ต้องสามารถสร้างและรันโปรเจกต์ได้ มีความรู้สึกที่เป็นรูปธรรม

(3) ขั้นตอนแรกของการอ่านซอร์สโค้ดคือจับแก่นหลัก ลองทำความเข้าใจเส้นทางการเรียกโค้ดของการรันปกติหนึ่งครั้ง สามารถทำได้ผ่านการ debug เพื่อสังเกตตัวแปรและพฤติกรรมขณะรัน แก้ไขซอร์สโค้ดเพิ่ม log และ print ช่วยให้เข้าใจซอร์สโค้ดได้ดีขึ้น

(4) วาดรูปอย่างเหมาะสมเพื่อช่วยให้เข้าใจซอร์สโค้ด หลังจากทำความเข้าใจแก่นหลักแล้ว สามารถวาดขั้นตอนทั้งหมดเป็น flowchart หรือ UML diagram มาตรฐาน ช่วยให้จดจำและอ่านต่อไปได้

(5) เลือกอ่านโค้ด “กิ่ง” ที่สนใจ เช่น ถ้าคุณสนใจเรื่องการสื่อสารเครือข่าย ก็อ่านโค้ดชั้นเครือข่าย เจาะจงลงไปถึงรายละเอียดการใช้งาน เช่น ใช้ไลบรารีอะไร ใช้ design pattern อะไร ทำไมถึงทำแบบนั้น ถ้าทำได้ debug โค้ดรายละเอียด

(6) ตอนอ่านซอร์สโค้ด ให้ความสำคัญกับ unit test ลองรัน unit test โดยทั่วไป unit test ที่ดีจะอธิบายฟังก์ชันและขอบเขตของโค้ดนั้นๆ อย่างชัดเจน

(7) หลังจากคุ้นเคยกับซอร์สโค้ดแล้ว ถ้าพบจุดที่ปรับปรุงได้ มีพลังและความตั้งใจ สามารถเสนอความคิดเห็นหรือ issue ให้กับนักพัฒนาของโปรเจกต์ หรือแม้กระทั่งช่วยแก้ไขและใช้งาน มีส่วนร่วมในการพัฒนาของโปรเจกต์

  1. โดยทั่วไปหลังจากอ่านเอกสารและซอร์สโค้ดแล้ว คุณจะเข้าใจโปรเจกต์อย่างค่อนข้างลึกซึ้ง แต่ในสาขาที่โปรเจกต์นั้นอยู่ คุณอาจอยากค้นหาโปรเจกต์และข้อมูลที่เกี่ยวข้อง ดูว่ามีโปรเจกต์หรือโซลูชันอื่นที่ดีกว่าหรือไม่ ถ่วงดุลระหว่างความกว้างและความลึก

ข้างต้นเป็นนิสัยส่วนตัวบางอย่างของผม ผมเองก็ไม่ได้ทำตามนี้ทั้งหมด แต่ตามลำดับนี้ โดยทั่วไปจะช่วยให้คุณเรียนรู้และใช้โปรเจกต์โอเพนซอร์สบางโปรเจกต์ได้อย่างมีประสิทธิภาพ

โปรดระบุแหล่งที่มา: ความสัมพันธ์นักพัฒนา »


Similar Posts

Content icon
Content