tumblr_inline_n2rc0lNnf11qzrkdh

ในปัจจุบันมักได้ยินว่าแต่ละหน่วยงาน ทีม
พยายามที่จะทำ automated deploy, automated test
แต่ไม่มีใครพูดถึงขั้นตอนของการทำ Code Review เลย

ดังนั้นลองถามตัวเราเองหน่อยว่า
ถ้าเราไม่มีการ review code ของคนอื่น หรือของตัวเราเองแล้ว
คุณจะรู้ได้อย่างไรว่า เรากำลังทดสอบระบบ หรือ พัฒนา อะไรกันอยู่ ?

บางคนอาจจะบอกว่า เราก็ทำบ้างนะ แต่ไม่บ่อย เพราะว่าไม่มีเวลา
บางคนอาจจะบอกว่า มันอยู่ใน roadmap นะ แต่ตอนนี้ยังไม่ถึงเวลา

ในโลกของการพัฒนานั้น Code Review เป็นกิจกรรมหลัก ไม่ใช่กิจกรรมเสริม

ถ้าคุณกำลังจะสร้างระบบแบบอัตโนมัติขึ้นมาทั้งการทดสอบและ deploy
แล้วไม่มีการทำ code review ถือได้ว่า สิ่งที่คุณทำอยู่นั้น จะกลับมาทำร้ายคุณอย่างแน่นอน

เนื่องจากคุณภาพของ code คือการเข้าใจใน code ว่าเป็นอะไร ทำงานอย่างไร
ดังนั้นคุณจะเข้าใจใน code ที่ทีมกำลังพัฒนา หรือสิ่งที่กำลังจะ deploy ได้อย่างไร
ถ้าคุณไม่ทำ code review  เพื่อทำการดูว่า code ส่วนไหนของระบบมีปัญหา
หรือ code ส่วนไหนมันไม่น่าจะดี ?
เพื่อจะได้แก้ไขก่อน deploy ขึ้น production server

หรือว่าตอนนี้คุณทำการ deploy code ที่แย่ๆ ขึ้น production server กัน ? !!

Code Review คืออะไร

คือการนำคนมาดู code ก่อนที่จะทำการ integrate กับส่วนอื่นๆ ไงล่ะ
เน้นย้ำว่า คน นะ

Code Review ทำอย่างไร

เริ่มต้นได้ง่ายๆ คือ

  1. หันไปหา programmer ที่อยู่ข้างๆ คุณ
  2. ถ้าเจอแล้ว แตะไหล่เบาๆ
  3. แสดง code ไปให้ programmer คนนั้นดู
  4. ถาม programmer คนนั้นว่า  code ที่ผมเขียนนี่เป็นยังไงบ้าง มันดีพอไหม มันมีอะไรไม่ดีบ้าง เพราะว่า ตอนนี้กำลังจะทำการ integrate กับคนอื่นแล้วนะ
  5. คุณก็นั่งฟังสิ่งที่ programmer คนนั้นพูดอย่างตั้งใจ
  6. หลังจากรับฟังแล้ว คุณทำการตัดสินใจว่า จะแก้ไข code หรือจะนำไปรวมกับคนอื่น หรือนำขึ้น production เลย

เครื่องมือง่ายๆ สำหรับการทำ Code Review

ตัวอย่างเช่น Github pull request, Diff หรือ Wdiff
และเครื่องมืออื่นๆ อีกมากมาย ที่สามารถช่วยได้

แต่ให้จำไว้ว่า จุดประสงค์หลักของการทำ code review คือ
การถาม คนอื่น  เพื่อให้ทำการ review code ของเรา
แต่ก็ไม่ใช่ว่าถามตลอดเวลานะ นั่นมันอาจจะดูแปลกไปหน่อย

ในขั้นตอนการทำ Code Review ไม่ควรจะซับซ้อน

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

วันนี้คุณทำ Code Review แล้วหรือยัง  …