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

Developer ใช้ Coding Standard กันหรือเปล่านะ ?

$
0
0

coding-standard

coding-standard เป็นคำถามที่น่าสนใจมาก ๆ ดังนั้น Developer จงตอบกันหน่อยว่ามีข้อตกลง หรือ นำ Coding Standard มาใช้หรือไม่ ? ถ้าตอบว่า ใช้ เชิญข้อต่อไป แต่ถ้าไม่ ให้กลับไปคุยกับทีมซะ !! คำถาม แล้วใช้ Coding Standard ตัวไหน ? คำตอบที่น่าจะได้รับคือ ไม่มี Coding Standard อะไรหรอก เนื่องจากแต่ละระบบ แต่ละ project ก็ใช้แตกต่างกันไป ตามความต้องการของงาน ตามความต้องการของทีม
แต่สิ่งที่ควรทำคือ ทุก ๆ คนในทีมต้องใช้มาตรฐานเดียวกัน ใน project เดียวกันต้องใช้มาตรฐานเดียวกัน

คำถาม แล้วคุณทำการเลือก Coding Standard อย่างไร ?

บางคนอาจจะบอกว่า ก็พี่ ๆ ไงล่ะ !! ในแต่ละภาษาโปรแกรมจะมีกลุ่มของ community แน่นอนว่าย่อมเกิด Coding Standard หลัก ๆ ของภาษานั้นมากมาย แถมมีการโต้เถียงจนก่อให้เกิดลัทธิ หรือ กลุ่มย่อย ๆ ของแต่ละภาษาไปอีก ซึ่งมันเป็นเรื่องปกติ ไม่แปลกอะไร เช่น ดังนั้นให้เริ่มต้นด้วยมาตรฐานเหล่านี้ก่อน แต่ใช่ว่าสิ่งที่เป็นมาตรฐานมันจะดีไปหมดนะ เนื่องจากมีข้อดี ย่อมมีข้อเสียด้วย ดังนั้นสิ่งที่ทีมต้องทำก็คือ นำมาพูดคุย เพื่อทำการแก้ไข และ ปรับปรุงรูปแบบให้เหมาะสมกับงานและทีม

คำถาม ในการพูดคุยมักมีความเห็นไม่ตรงกัน จะทำอย่างไรดี ?

เป็นปัญหาหลัก ๆ เลยของการเลือก มักจะมีความคิดเห็นไม่ตรงกัน ทั้งจากความชอบส่วนตัว ทั้งจากประสบการณ์ส่วนตัว ทั้งจากเขาบอกมา !!
แต่ส่วนใหญ่มักจะมีข้อขัดแย้งกันระหว่าง ความถูกต้อง vs. ความสวยงาม vs. ตามหลักหรือรูปแบบของภาษานั้น ๆ
ตัวอย่างเช่นปัญหาโลกแตกของ {} [gist id="4ce525243bc90c1ba6d1" file="first.php"] ไม่ว่าจะเป็น Tab vs Spacebar !! ไม่ว่าจะเป็นรูปแบบการตั้งชื่อ !! ไม่ว่าจะเป็นโครงสร้างของ code !! ไม่ว่าจะเป็น ... จะเลือกอะไรดีล่ะ ?

คำถาม คุณต้องเสียเวลา และ มีค่าใช้จ่ายมากเท่าไรในการเลือก ?

ลองถามตัวคุณเองและทีมสิว่า
  • เสียเวลาไปเท่าไรในการพูดคุยกัน แต่สุดท้ายไม่ได้ข้อสรุปอะไรเลย ?
  • พูดคุย และ เถียงกันผ่าน email มากน้อยเพียงใด ?
  • ทำให้ความสัมพันธ์ของคนในทีมแย่ลงไปอีกหรือไม่ ?
  • รู้สึกอย่างไรบ้าง เมื่อต้องเขียน code ในรูปแบบที่ไม่ชอบ ?
จงอย่าเสียเวลาไปกับการเลือกมากนัก เอาแต่พอดี แต่ให้ลงมือทำในรอบสั้น ๆ แล้วให้ทีมกลับมาพูดคุยกัน เพื่อดูว่าสิ่งที่เลือกไปนั้นมันได้ผลออกมาดีหรือแย่อย่างไร แล้วให้ปรับปรุงอยู่อย่างเสมอ (Continuous Improvement)

ดังนั้นจริง ๆ แล้ว ให้ลองกลับมาดูเป้าหมายของ Coding Standard กันหน่อยไหมว่าคืออะไร ?

เป้าหมายเพื่อให้แนวทางการเขียน code เป็นไปในทิศทางเดียวกัน เพื่อทำให้ทีมเดินไปข้างหน้าอย่างพร้อมเพรียงกัน เพื่อทำให้ทีมเดินไปข้างหน้าได้อย่างรวดเร็ว บางทีมอาจจะมี Team Lead ที่มากประสบการณ์ เป็นคนเลือกให้ทีมไปเลยก็เป็นได้ !! คำถามคือ คุณทำการเลือก Coding Standard กันอย่างไรบ้าง ? อย่าบอกนะว่า ไม่เคยใช้กันเลย เขียนตามอารมณ์ของตัวเองไปเรื่อย ๆ !! หรือว่ามีนะ แต่มันอยู่ในเอกสารและกระดาษ !! แต่ละคนในทีมเขียน code ที่มีรูปแบบเหมือนกันหรือไม่ ? แล้วรู้ได้อย่างไร ?

Viewing all articles
Browse latest Browse all 1997

Trending Articles