คุณสมบัติความเป็นโปรแกรมเมอร์ที่ดี ( แนวคิดช่วงเรียนจบใหม่ ๆ )

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

1. โปรแกรมเมอร์ต้องเขียน Code ได้อ่านเข้าใจง่ายครับ การตั้งชื่อต้องสื่อได้ว่าอะไรคืออะไร เป็นตัวแปร หรือเป็น Method แต่ละตัวทำอะไรและคืนค่าอะไร อันนี้ก็มีหลากหลายเทคนิคหลายสำนักเลยครับลองไปศึกษากันดู อีกทั้งมีการจัดความลึกของ Code เป็นลำดับชั้นให้ชัดเจนครับ
เพราะผมเคยเห็น โปรแกรมเมอร์บางคน เขียนติดๆๆๆ กันยาวๆๆ ไม่ยอมขึ้นบรรทัดใหม่ก็มีเขียนเปิดปิด tag ไว้ไม่ตรงกันก็มี ซึ่งผมก็ยังไม่เข้าใจนะว่าทำไมเขาถึงเขียนกันแบบนั้น

2. Code ที่เขียนลงไปต้องทำงานได้ถูกต้องครับ ในที่นี้หมายถึงสองภาคครับคือ

  • ภาค output ที่ต้องให้ผลลัพธ์ตามที่เราต้องการครับ
  • ภาค Input ที่ต้องครอบคุมการกรอก input เข้าไปด้วยเช่นกำหนดเป็นแค่ตัวเลขหรือแค่ตัวอักษร ตัวอย่างเช่นเลขบัตรประชาชน เราจะอนุญาติใส่ตัวอักษรหรืออักขระพิเศษลงไปไม่ได้

3. โปรแกรมเมอร์ที่ดีต้องเขียน Code ที่สามารถกลับมาแก้ไขได้ง่ายในภายภาคหน้าครับ

  • วิธีการของข้อนี้สืบเนื่องจากข้อแรกเลยครับ
  • เหตุผลก็เพราะว่าเราไม่รู้ว่าในอนาคตนานแค่ไหนที่เราต้องกลับมาแก้ไข Code เดิมๆที่เราเคยเขียน ลำพังเรากลับมาแก้ Code ตัวเองยังยากแล้ว แล้วจะให้คนอื่นๆ มาแก้ไข Code ที่เราก่อไว้อีกคงเป็นเรื่องปวดหัวเอามากๆ (เอ๊ะ!!เหมือนบ่นชีวิตตัวเอง -*-)
  • และการขาดคุณสมบัติการเขียน code ข้อนี้ทำให้ โปรแกรมเมอร์คนอื่นๆที่เข้ามารับผิดชอบงานต่อถึงกับส่ายหน้า และสุดท้ายก็ต้องการที่จะสร้าง product ตัวใหม่ขึ้นมาแทนมากกว่าจะสานต่องาน Code เดิมครับ จะเห็นได้ว่าหากเราเขียนได้เข้าใจง่ายต่อตัวเองและผู้อื่นจะทำให้ Code ของเรามีคุณค่ายิ่งขึ้นนั้ันเองครับ (เห็น Code แล้วอ๋อ!! สามารถ Dev ต่อได้) ^^

เรื่องนอกเหนือจากนี้ผมถือว่าเป็นเรื่องทาง เทคนิคแล้วครับไม่ว่าจะเป็น การ Design , Speed ลูกเล่นต่างๆ แต่คุณสมบัติ 3 ข้อที่ผมกล่าวๆมา ผมมองว่าเป็นปัจจัยสำคัญมากในการทำงานด้าน Programming

--

--

Chaloemphon Thipkasorn

TheMegaNear — Developer in Phuket — เขียนไปเรื่อยๆ เผื่อมีประโยชน์ ( Sorry for my english )