Screen Shot 2557-12-19 at 4.22.42 PM
เรื่องที่สามที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Read Code
หรือความสามารถในการอ่าน code นั่นเอง
ใครอ่าน code ไม่เป็นบ้าง ?

นักพัฒนา software เป็นสิ่งมีชีวิตที่แปลกประหลาดมากๆ
คือ ชอบที่จะเขียน code ขึ้นมา
แต่แปลกนะ ไม่ชอบอ่าน code ที่เขียนเอง หรือ คนอื่นเขียนขึ้นมา

ดังนั้น การเขียน code นั้นจะสนุกมาก แต่การอ่าน code เป็นเรื่องที่ยากมาก
มันแปลกดีนะ !!

บ่อยครั้ง

นักพัฒนา software มักจะต้องอ่าน code ของคนอื่นอยู่อย่างเสมอ
ซึ่งมันยากมากๆ เพราะว่าอะไรก็ตามที่เราไม่ได้เขียนเอง จะอ่านยากไปหมด
เนื่องจากวิธีการแก้ไขปัญหาของแต่ละคนแตกต่างกัน

แต่การอ่าน และ ทำความเข้าใจใน code ของคนอื่น
มันคือการปรับปรุงความสามารถของคุณนะ
เพื่อให้เห็นมุมมอง แนวคิด จากคนอื่นๆ !!!

ดังนั้นในครั้งต่อไป เมื่อต้องอ่าน code
แนะนำให้หยุด และ คิด สักหน่อย
ว่า code ที่เรากำลังอ่านนั้น มันอ่านยาก หรือ ง่าย ?
ถ้ามันอ่านยาก ให้หยุดคิดหน่อยว่า

  • มันอ่านยาก เพราะว่าอะไร ?
  • มันอ่านยาก เพราะว่ารูปแบบของ code แย่ๆ หรือไม่ ?
  • มันอ่านยาก เพราะว่าการตั้งชื่อตัวแปร method และ class ไม่ดีใช่ไหม ?
  • มันอ่านยาก เพราะว่ามันรวมปัญหา หรือ ระบบงานหลายๆ อย่างเข้าด้วยกัน เยอะไปหมด ?
  • มันอ่านยาก เพราะว่ารูปแบบของภาษาโปรแกรมที่ใช้พัฒนา ?

ถ้าคุณรู้สาเหตุของปัญหา code ที่อ่านยากแล้ว

คุณจะต้องพยายามเรียนรู้จากข้อผิดพลาดของคนอื่นๆ และ ของตัวเราเอง
เพื่อที่จะไม่สร้างมันขึ้นมาอีก (แต่แปลกนะ มักจะทำผิดเหมือนๆ กันอยู่อย่างเสมอ)

หรือในบางครั้งอาจะเจอ code ที่สวยงาม
มีโครงสร้างของ code ที่ดี มีการจัดการ dependency ต่างๆ อย่างเทพ
code แยกออกเป็น modular หรือผูกมัดกันแบบหลวมๆ
แต่ว่า code เหล่านั้น มันอ่านยากมากๆ !!

แต่ถ้า code มันอ่านง่ายล่ะ

เราควรต้องหยุด และ คิด เช่นเดียวกันว่า
code เหล่านั้นมันดีอย่างไร
code เหล่านั้นมันมีอะไรที่เป็นประโยชน์ต่อเรา

ให้ทำการเรียนรู้ ทำความเข้าใจกับมัน แล้วนำมาใช้ซะ เช่น

  • รูปแบบในการเขียน code ที่สวยงาม เช่น Design pattern ที่เราอาจจะรู้ หรือ ไม่รู้จัก
  • การตั้งชื่อที่ดี เป็นอย่างไร
  • จำนวนบรรทัดของแต่ละ method/function ที่มันน้อยๆ

แนะนำให้อ่าน code ของ opensource ต่างๆ

เพื่อศึกษาว่า เขาเขียน code กันอย่างไร
ให้มันอ่านง่าย เข้าใจง่าย ถ้าไม่เชื่อก็ลองไป download code จากที่เหล่านี้มาดู

ในการทำงานจริง

คุณในฐานนะของนักพัฒนา software
ยังไงก็ต้องทำการอ่าน code เก่าๆ หรือ มักจะถูกเรียกว่า Legacy code
ดังนั้นให้ หยุด คิด เสมอว่า ให้มองว่านั่นคือการเรียนรู้
เพื่อเพิ่มทักษะ ประสบการณ์ ให้รู้และเข้าใจมากขึ้นกว่าเดิม

ส่วนการเริ่มต้นนั้น แนะนำให้คุณลองกลับไปอ่าน code เก่าๆ ที่คุณสร้างขึ้นมาเอง
ว่า code มันเป็นอย่างไร ดีหรือไม่ดีอย่างไร
จากนั้นทำการแก้ไขปรับปรุงมันให้ดีขึ้นซะ
ทำให้มันอ่านง่ายขึ้นซะ

หรือลองกลับไปดู code ในงานที่คุณกำลังทำอยู่

ไปหา code ที่มันอ่านยากสิ แล้วกลับมาดูว่า คุณกำลังสร้าง code รูปแบบนั้นขึ้นมาหรือไม่
ถ้าใช่ … ก็ให้ทำการแก้ไข และ ปรับปรุงมันซะ
แล้วจะได้ไม่สร้าง code ให้เป็นภาระต่อคนรุ่นหลัง

ดังนั้น ถ้าครั้งต่อไปคุณรู้สึกว่า

จำเป็นต้องปรับปรุงความสามารถในการ coding แล้ว
อาจจะไม่จำเป็นต้องไปอ่านหนังสืออะไร
แต่ให้ทำการอ่าน code ดีกว่า (Read Code)

ปล. แต่ถ้าอยากอ่านหนังสือ แนะนำให้นักพัฒนาอ่านหนังสือเหล่านี้ครับ
หนังสือที่ทีมพัฒนา software ควรที่จะต้องอ่านไว้บ้าง