Code review: ทำไมเจ้าของเว็บไซต์หรือแอปจึงควรตรวจโค้ด

คุณดูแลเว็บไซต์ ร้านค้าออนไลน์ หรือแอปเล็ก ๆ สักตัว มีคนเขียนโค้ดไว้ให้ อาจเป็นผู้รับจ้าง เพื่อน เอเจนซีที่ย้ายไปทำอย่างอื่นแล้ว หรือตัวคุณเองหลังดูบทเรียนมาหลายสุดสัปดาห์ มันใช้งานได้ ส่วนใหญ่นะ แต่คุณบอกไม่ได้ว่ามันแข็งแรงหรือแค่ปะติดปะต่อไว้หลวม ๆ การตรวจโค้ด (code review) คือการให้คนที่ไม่ได้เขียนโค้ดนั้นมาดูอีกรอบ และช่วยตอบคำถามนี้ก่อนที่ปัญหาเล็ก ๆ จะกลายเป็นเรื่องที่ต้องจ่ายแพง

เมื่อไรที่การตรวจโค้ดคุ้มค่า
- ก่อนจ่ายเงินค่างานที่เสร็จแล้ว การตรวจจะบอกว่าโค้ดที่คุณได้รับสมเหตุสมผลหรือเต็มไปด้วยทางลัด
- เมื่อคุณรับช่วงโปรเจกต์ต่อ โค้ดที่รับต่อมาโดยไม่มีเอกสารเป็นกล่องดำจนกว่าจะมีคนอธิบาย
- เมื่อมีอะไรพังซ้ำ ๆ ฟอร์มที่บางครั้งส่งไม่ได้ หน้าที่โหลดช้า ข้อผิดพลาดที่กลับมาทุกครั้งหลังแก้
- ก่อนเปิดตัวหรือก่อนแคมเปญลดราคาใหญ่ ซึ่งบั๊กหนึ่งตัวอาจทำให้เสียเงินจริง
- เมื่อคุณเขียนโค้ดเอง และอยากรู้ว่าควรปรับปรุงอะไร
การตรวจโค้ดพบอะไรบ้าง
ผู้ตรวจอ่านโค้ดทีละบรรทัดและมองหา:
- บั๊ก: ตรรกะที่ล้มเหลวในบางกรณี เช่น ตะกร้าสินค้าว่าง วันที่ปลายเดือน หรือชื่อที่มีเครื่องหมายอะพอสทรอฟี
- จุดเสี่ยง: รหัสผ่านที่เขียนไว้ในโค้ด ข้อมูลที่ผู้ใช้กรอกถูกนำไปใช้โดยไม่ตรวจสอบ ข้อความแสดงข้อผิดพลาดที่เปิดเผยข้อมูลมากเกินไป
- จุดอ่อน: โค้ดที่ใช้ได้ตอนนี้แต่จะพังเมื่อทราฟฟิกเพิ่มขึ้นหรือมีการอัปเดตไลบรารี
- ความอ่านง่าย: ชื่อที่ไม่ชัดเจน ฟังก์ชันที่ยาวเกินไป และโค้ดซ้ำซ้อน ซึ่งทำให้การแก้ไขทุกครั้งในอนาคตช้าลงและแพงขึ้น
ปัญหาจะถูกจัดเรียงตามความสำคัญ คุณจึงรู้ว่าต้องแก้อะไรก่อนและอะไรรอได้
สิ่งที่การตรวจโค้ดไม่ได้ทำ
การตรวจโค้ดคือการอ่านและอธิบายโค้ด ไม่ได้รันโค้ดบนเซิร์ฟเวอร์ของคุณหรือทดสอบเว็บไซต์ที่ใช้งานจริง ไม่ใช่การตรวจสอบความปลอดภัยแบบเต็มรูปแบบหรือการทดสอบรับโหลด ให้ถือว่าวิธีแก้ที่แนะนำเป็นข้อเสนอ ผู้ที่ดูแลโปรเจกต์ควรทดสอบแต่ละจุดก่อนนำขึ้นใช้งานจริง
เลือกส่งส่วนไหนดี
แทบไม่จำเป็นต้องส่งทั้งเว็บไซต์ ให้เลือกส่วนที่สำคัญที่สุด:
- จุดที่มีเงินเข้าออก: หน้าชำระเงิน การจ่ายเงิน ราคา และส่วนลด
- จุดที่ผู้ใช้พิมพ์ข้อมูล: ฟอร์มสมัครสมาชิก เข้าสู่ระบบ ติดต่อ และค้นหา
- จุดที่มีปัญหา: ไฟล์หรือฟังก์ชันที่อยู่เบื้องหลังข้อผิดพลาดที่คุณเห็น
โค้ดไม่กี่ร้อยบรรทัดจากจุดที่ถูกต้องบอกอะไรได้มากกว่าโค้ดหลายพันบรรทัดที่ส่งมาทั้งหมด
เตรียมโค้ดอย่างไร
- ลบข้อมูลลับออก แทนรหัสผ่าน คีย์ API และข้อมูลลูกค้าด้วยข้อความแทนที่ เช่น PASSWORD_HERE
- ระบุภาษาและเวอร์ชัน เช่น PHP 8 หรือ JavaScript กับ React
- อธิบายว่าโค้ดควรทำอะไร ด้วยประโยคง่าย ๆ หนึ่งหรือสองประโยค
- คัดลอกข้อความแสดงข้อผิดพลาดมาแบบตรงตัว ถ้ามี ให้ครบทั้งข้อความ
- บอกว่าควรเน้นเรื่องไหน: บั๊ก ความเร็ว ความอ่านง่าย หรือจุดเสี่ยง
นำผลไปใช้อย่างไร
ส่งผลการตรวจให้ผู้ที่ดูแลโค้ด แล้วตกลงลำดับการแก้ไขร่วมกัน โดยเริ่มจากจุดที่ร้ายแรงที่สุด ถ้าคุณไม่ใช่สายเทคนิค สรุปที่เขียนด้วยภาษาง่าย ๆ จะช่วยให้คุณถามคำถามที่ถูกต้องและประเมินคำตอบได้
สรุป
การตรวจโค้ดคือการมองจากมุมที่เป็นอิสระ ซึ่งพบบั๊ก จุดเสี่ยง และจุดอ่อนก่อนที่ลูกค้าของคุณจะเจอ หากต้องการตรวจโค้ด ก็สั่งตรวจโค้ดได้เลย เพียงวางโค้ดไม่เกิน 100, 400 หรือ 1,000 บรรทัดและอธิบายว่ามีอะไรผิดพลาด แล้วรับคำอธิบายเป็นลายลักษณ์อักษรว่าโค้ดทำอะไร รายการปัญหาเรียงตามความสำคัญ และโค้ดส่วนที่แก้ไขแล้วสำหรับนำไปทดสอบในโปรเจกต์ของคุณเอง การชำระเงินจะถูกปล่อยหลังจากคุณยอมรับงานแล้วเท่านั้น