เป็นคำถามที่น่าสนใจมาก ๆ
ดังนั้น Developer จงตอบกันหน่อยว่ามีข้อตกลง หรือ นำ Coding Standard มาใช้หรือไม่ ?
ถ้าตอบว่า ใช้ เชิญข้อต่อไป
แต่ถ้าไม่ ให้กลับไปคุยกับทีมซะ !!
คำถาม แล้วใช้ Coding Standard ตัวไหน ?
คำตอบที่น่าจะได้รับคือ
ไม่มี Coding Standard อะไรหรอก
เนื่องจากแต่ละระบบ แต่ละ project ก็ใช้แตกต่างกันไป
ตามความต้องการของงาน
ตามความต้องการของทีม
แต่สิ่งที่ควรทำคือ ทุก ๆ คนในทีมต้องใช้มาตรฐานเดียวกัน ใน project เดียวกันต้องใช้มาตรฐานเดียวกัน
คำถาม แล้วคุณทำการเลือก Coding Standard อย่างไร ?
บางคนอาจจะบอกว่า ก็พี่ ๆ ไงล่ะ !! ในแต่ละภาษาโปรแกรมจะมีกลุ่มของ community แน่นอนว่าย่อมเกิด Coding Standard หลัก ๆ ของภาษานั้นมากมาย แถมมีการโต้เถียงจนก่อให้เกิดลัทธิ หรือ กลุ่มย่อย ๆ ของแต่ละภาษาไปอีก ซึ่งมันเป็นเรื่องปกติ ไม่แปลกอะไร เช่น- ภาษา C อาจจะเลือกใช้ GNU Coding standard
- ภาษา Java อาจจะเลือกใช้ Google Java Style
- ภาษา ruby อาจจะเลือกใช้ Bozhidar Batsov’s community-influenced standard
คำถาม ในการพูดคุยมักมีความเห็นไม่ตรงกัน จะทำอย่างไรดี ?
เป็นปัญหาหลัก ๆ เลยของการเลือก มักจะมีความคิดเห็นไม่ตรงกัน ทั้งจากความชอบส่วนตัว ทั้งจากประสบการณ์ส่วนตัว ทั้งจากเขาบอกมา !!แต่ส่วนใหญ่มักจะมีข้อขัดแย้งกันระหว่าง ความถูกต้อง vs. ความสวยงาม vs. ตามหลักหรือรูปแบบของภาษานั้น ๆตัวอย่างเช่นปัญหาโลกแตกของ {} [gist id="4ce525243bc90c1ba6d1" file="first.php"] ไม่ว่าจะเป็น Tab vs Spacebar !! ไม่ว่าจะเป็นรูปแบบการตั้งชื่อ !! ไม่ว่าจะเป็นโครงสร้างของ code !! ไม่ว่าจะเป็น ... จะเลือกอะไรดีล่ะ ?
คำถาม คุณต้องเสียเวลา และ มีค่าใช้จ่ายมากเท่าไรในการเลือก ?
ลองถามตัวคุณเองและทีมสิว่า- เสียเวลาไปเท่าไรในการพูดคุยกัน แต่สุดท้ายไม่ได้ข้อสรุปอะไรเลย ?
- พูดคุย และ เถียงกันผ่าน email มากน้อยเพียงใด ?
- ทำให้ความสัมพันธ์ของคนในทีมแย่ลงไปอีกหรือไม่ ?
- รู้สึกอย่างไรบ้าง เมื่อต้องเขียน code ในรูปแบบที่ไม่ชอบ ?