ช่วงเช้า ๆ มานั่ง review code ของ project ต่าง ๆ มาศึกษา
ก็เจอ code แปลก ๆ เยอะพอควร
เป็น code ที่อาจจะก่อให้เกิดปัญหาได้
ที่สำคัญ เจอบ่อยมาก ๆ ในแต่ละ project
เลยสรุปไว้นิดหน่อย เพื่อจะได้ไม่ทำตาม
เรื่องแรก แต่ละ function ทำงานเยอะเกินไป
เมื่อไปดูชื่อ function กับ code ที่อยู่ใน function แล้ว
คำถามคือ ทำไม code มันทำงานเยอะมาก ๆ
หนักกว่านั้น แต่ละ function มี code มากกว่า 100 บรรทัด
คนเขียนคิดอะไรอยู่นะ ?
ไม่ได้บอกว่าผิด แต่คิดอะไรอยู่ ?
หรือ ทำให้เสร็จ ทำให้เสร็จ นะ
ผลที่ตามาคือ กว่าจะทำความเข้าใจว่า function นี้ทำอะไรบ้าง
ต้องใช้เวลานานมาก ๆ
หนักกว่านั้น จะทำการแก้ไขนี่จัดว่านรกมาก ๆ
ทำการแยก code ออกไปเป็น function ย่อย ๆ ดีกว่าไหมนะ
แล้วตั้งชื่อ function ให้ชัดเจน
เรื่องที่สอง เจอตัวเลขแปลก ๆ ใน code ซึ่งจะเรียกว่า magic number
บางครั้งเจอ 0, 1, 2 ,3
บางครั้งเจอ 552
บางครั้งเจอ 60
บางครั้งเจอ XYZ429
มันคืออะไรนะ ?
ใครเคยเจอบ้าง ?
ถามใครก็ไม่มีใครรู้
ที่สำคัญเปลี่ยนค่าแล้วพัง !!
เรื่องที่สาม การตั้งชื่อตัวแปรที่สื่อสารไม่ได้หรือไม่ชัดเจน
การตั้งชื่อมันต้องสอดคล้องกับบริบทการทำงานตรงนั้น
ไม่ใช่บอกว่า ต้องใช้ชื่อที่เข้าใจได้ง่าย
บางครั้งชื่อย่อก็ได้ แต่มั่นใจหรือไม่ว่า มันเข้าใจจริง ๆ ในบริบทตรงนั้น
ถ้าตั้งชื่อได้ดีและเหมาะสม
จะทำให้ชีวิตดีขึ้น มันอาจจะใช้เวลานานหน่อย สำหรับชื่อดี ๆ
แต่มันก็ช่วยคุณประหยัดเวลาที่ใช้จัดการในอนาคตได้มากเช่นกัน
เรื่องที่สี่ ชอบทำการ hard code ไว้ใน code
จะเจอบ่อยมาก ๆ ใน code
ใส่ค่าตรง ๆ ไว้ใน code เลย
ยกตัวอย่างเช่นค่า URL ต่าง ๆ ค่า Username
รวมไปถึงค่า config ต่าง ๆ ใส่ไว้ใน code กันเลยทีเดียว
แก้ไขยากไหมละเนี่ย ?
คนจริงต้องเปิดเผยทุกอย่าง ?
เรื่องที่ห้า เรื่องของ format ของ code ที่ต่างกัน
บางคนอาจจะบอกว่า ไม่เคยเจอ
เพราะว่าใช้ editor เหมือนกัน
เพราะว่าใช้เครื่องมือการจัดรูปแบบ code เดียวกัน ทำงานแบบอัตโนมัตด้วย
แต่มีหลาย ๆ project ไม่ได้ทำเช่นนี้
ทำให้เกิดการจัดรูปแบบของ code ตามใจตัวเองเยอะมาก ๆ
ซึ่งทำให้การทำงานร่วมกันลำบากน่าดู
ยกตัวอย่างสิ่งที่เจอบ่อยคือ space bar vs tab เป็นต้น
ก่อนจบมีอีกเรื่องเพิ่งเจอเลยคือ
ขยัน comment code เหลือเกิน
Version control ก็ใช้ อะไรไม่ใช้ก็ลบไปสิ
จะ comment ไว้ทำไม ?