ธรรมชาติของความผิดพลาดและความเป็นมนุษย์
การทำ code review จึงไม่ได้เริ่มจากคำว่า ตรวจงาน
แต่เริ่มจากการยอมรับความจริงว่า เราทุกคนสามารถผิดได้
และนั่นไม่ใช่เรื่องน่าอาย แต่เป็นแก่นของการเติบโตทางความคิดที่มนุษย์ถือเป็นวัฒนธรรมมาหลายพันปี
ความรู้เกิดจากแรงเสียดสีของมุมมอง
นักปรัชญาโบราณเชื่อว่า ปัญญาเติบโตจากการชนกันของความคิด
โสเครตีสสอนผ่านการตั้งคำถาม ขงจื๊อบอกว่าให้เรียนรู้จากทั้งคนเก่งและคนหลงทาง.
อริสโตเติลชี้ว่ามนุษย์เป็นสัตว์แห่งเหตุผล แต่เหตุผลนั้นมีความล้มเหลวเป็นเงาตามตัว
และเมื่อมองให้ดี code review คือเวทีปรัชญาขนาดเล็กของทีมพัฒนา
ที่ความรู้ของคนหนึ่งจะถูกต่อเติมด้วยสายตาอีกคู่หนึ่ง
สิ่งที่เราทำไม่ใช่การจับผิด
แต่คือการทำให้สิ่งที่ยังไม่ดีพอ ดีขึ้นอีกนิดหนึ่ง
ไม่ใช่เพราะคนเขียนด้อยกว่า
แต่เพราะคนเรามีพื้นที่มองเห็นที่จำกัดเสมอ
เหมือนภูเขาลูกเดียวกันที่คนบนฝั่งตะวันออกมองไม่เหมือนคนบนฝั่งตะวันตก
ทั้งสองมุมต่างจริงพอๆ กัน
และเมื่อเรานำภาพทั้งคู่มาวางรวม เราจึงได้ ภาพที่ครบกว่า
การตรวจสอบกันคือการให้เกียรติกัน
คำว่า review บางทีทำให้หลายคนรู้สึกเหมือนถูกสอบสวน
แต่แท้จริงแล้ว การให้เวลาอ่าน code ของผู้อื่นคือการบอกว่า
>ฉันเห็นคุณเป็นส่วนหนึ่งของระบบที่เรากำลังสร้างร่วมกัน<
มันคือการยอมแลกเวลา คลานเข้าไปในตรรกะคนอื่น เพื่อช่วยกันปิดรูรั่วเล็กๆ ซึ่งอาจเป็นจุดเริ่มต้นของระบบล่มทั้งคืนในอนาคต
ความตั้งใจแบบนี้ไม่ใช่งานโหดๆ ที่ต้องทำตามกระบวนการ
แต่เป็นรูปแบบหนึ่งของความรับผิดชอบซึ่งมนุษย์สร้างขึ้นเมื่อเริ่มทำงานร่วมกันเป็นทีม
ความผิดพลาดในโค้ดคือความมนุษย์ในตัวเรา
เราเขียนโค้ดด้วยความคิดของวันนั้น ความเหนื่อยของชั่วโมงนั้น และอารมณ์ของวินาทีนั้น
ความผิดพลาดจึงมักไม่ใช่ความไม่เก่ง
แต่คือ คุณสมบัติของสิ่งมีชีวิตที่คิดเร็วเกินไปในบางครั้ง
เมื่อ reviewer มองเห็นสิ่งที่เรามองไม่เห็น
สิ่งนั้นไม่ใช่การชี้นิ้ว
แต่เป็นการเตือนว่า เราไม่ได้เดินลำพังนะ
เหมือนมีคนเดินตามหลังคอยบอกว่า
ระวังเหยียบหลุม
ระวังข้างหน้าเป็นทางชัน
และบางครั้งก็ช่วยส่องไฟให้เรามองเห็นเส้นทางที่มืดสนิท
และสุดท้าย…เพราะโค้ดคือมรดกที่คนรุ่นต่อไปต้องอ่าน
โค้ดวันนี้คือเอกสารประวัติศาสตร์ของทีมในวันหน้า
บางคนออกจากทีมไปแล้ว
บางฟีเจอร์ถูกทิ้งร้าง
บางบั๊กถูกลืมไว้ใต้ชั้นฝุ่น
สิ่งเดียวที่จะรักษามรดกนั้นไว้ได้ คือการมีอีกคู่มือคอยช่วยตรวจให้มันอยู่ในรูปที่คนอื่นจะเข้าใจในอนาคต ไม่ใช่สมุดบันทึกลึกลับที่ถอดรหัสไม่ได้เหมือนคัมภีร์จากอารยธรรมที่สาบสูญ
โค้ดที่ไม่ถูกตรวจสอบ
จะกลายเป็น กำแพงที่ทีมปีนไม่ขึ้นในอนาคต
แต่โค้ดที่ผ่านสายตาหลายคู่
จะกลายเป็นพื้นฐานที่แข็งแรงให้รุ่นต่อไปเหยียบขึ้นไปได้อย่างมั่นคง
สรุป: เราตรวจสอบกัน…เพราะมนุษย์ไม่เคยสมบูรณ์แบบ
และเพราะความไม่สมบูรณ์แบบนี่เอง
ทำให้เราต้องอาศัยกันและกันเพื่อสร้างสิ่งที่ใหญ่กว่าเราคนเดียว
การทำ code review จึงไม่ใช่เรื่องของคุณทำผิด
แต่เป็นเรื่องของ เราอยากเติบโตไปด้วยกัน










