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

อ่าน 1 นาที

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

การตรวจโค้ดสำหรับเว็บไซต์หรือแอป

เมื่อไรที่การตรวจโค้ดคุ้มค่า

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

การตรวจโค้ดพบอะไรบ้าง

ผู้ตรวจอ่านโค้ดทีละบรรทัดและมองหา:

  • บั๊ก: ตรรกะที่ล้มเหลวในบางกรณี เช่น ตะกร้าสินค้าว่าง วันที่ปลายเดือน หรือชื่อที่มีเครื่องหมายอะพอสทรอฟี
  • จุดเสี่ยง: รหัสผ่านที่เขียนไว้ในโค้ด ข้อมูลที่ผู้ใช้กรอกถูกนำไปใช้โดยไม่ตรวจสอบ ข้อความแสดงข้อผิดพลาดที่เปิดเผยข้อมูลมากเกินไป
  • จุดอ่อน: โค้ดที่ใช้ได้ตอนนี้แต่จะพังเมื่อทราฟฟิกเพิ่มขึ้นหรือมีการอัปเดตไลบรารี
  • ความอ่านง่าย: ชื่อที่ไม่ชัดเจน ฟังก์ชันที่ยาวเกินไป และโค้ดซ้ำซ้อน ซึ่งทำให้การแก้ไขทุกครั้งในอนาคตช้าลงและแพงขึ้น

ปัญหาจะถูกจัดเรียงตามความสำคัญ คุณจึงรู้ว่าต้องแก้อะไรก่อนและอะไรรอได้

สิ่งที่การตรวจโค้ดไม่ได้ทำ

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

เลือกส่งส่วนไหนดี

แทบไม่จำเป็นต้องส่งทั้งเว็บไซต์ ให้เลือกส่วนที่สำคัญที่สุด:

  • จุดที่มีเงินเข้าออก: หน้าชำระเงิน การจ่ายเงิน ราคา และส่วนลด
  • จุดที่ผู้ใช้พิมพ์ข้อมูล: ฟอร์มสมัครสมาชิก เข้าสู่ระบบ ติดต่อ และค้นหา
  • จุดที่มีปัญหา: ไฟล์หรือฟังก์ชันที่อยู่เบื้องหลังข้อผิดพลาดที่คุณเห็น

โค้ดไม่กี่ร้อยบรรทัดจากจุดที่ถูกต้องบอกอะไรได้มากกว่าโค้ดหลายพันบรรทัดที่ส่งมาทั้งหมด

เตรียมโค้ดอย่างไร

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

นำผลไปใช้อย่างไร

ส่งผลการตรวจให้ผู้ที่ดูแลโค้ด แล้วตกลงลำดับการแก้ไขร่วมกัน โดยเริ่มจากจุดที่ร้ายแรงที่สุด ถ้าคุณไม่ใช่สายเทคนิค สรุปที่เขียนด้วยภาษาง่าย ๆ จะช่วยให้คุณถามคำถามที่ถูกต้องและประเมินคำตอบได้

สรุป

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