เพิ่มประสิทธิภาพให้ code review (ตอน 2)
--
ต่อจากบล็อกที่แล้ว — เพิ่มประสิทธิภาพให้ code review (ตอนที่ 1)
4. จด-จำ-นำไปปรับปรุง
ใน code review meeting มีเรื่องมากมายที่ต้องจำทั้งการปรับปรุงโค้ดเราเอง เทคนิคใหม่ที่ได้จากคนอื่น หรือแม้แต่โค้ดคนอื่นที่อนาคตเราอาจต้องไปแก้ อย่ามัวนั่งนิ่งยิ้มกริ่มเพราะเชื่อว่าตัวเองจำทุกอย่างได้ครบถ้วน
งานของเราเป็นงานใช้สมอง แต่ไม่ต้องใช้จำทุกอย่างก็ได้
สมุดเล่มเล็ก ๆ กับปากการาคาไม่ต้องแพง ช่วยเพิ่มประสิทธิภาพการจดจำทั้งความรู้และโค้ดราคาแพงได้ จะเปิดกลับมาดูอีกกี่ครั้งหรือแม้แต่ส่งต่อให้คนอื่นก็ยังได้
*หลายทีมมีแบบฟอร์มการรีวิวโค้ดเพื่อให้เข้าใจตรงกันระหว่างคนในทีมอีกด้วย
ตัวอย่าง
- ชื่อไฟล์
- บรรทัด/ชื่อฟังก์ชั่น/คลาส
- คอมเมนท์
- ความเร่งด่วน
5. ต้องแก้ แต่ไม่ต้องแก้
โปรแกรมเมอร์อาจมีนิสัยไม่ชอบเห็นโค้ดตัวเองมีตำหนิ เมื่อรู้ว่าโค้ดส่วนของเรามีบางส่วนต้องปรับปรุงแล้วก็ไม่รอช้าที่จะแก้ให้มันดีซะ
การปรับปรุงโค้ดเป็นเรื่องดี แต่การแก้โค้ดในตอนรีวิวอาจทำให้เราหลุดโฟกัสจากการรีวิว และไม่ได้อะไรเพิ่มเติมในช่วงเวลานั้นและทำให้ทีมเสียเวลาเพิ่มด้วย
เพราะฉะนั้นการแก้โค้ดควรออกไปแก้หลังจบการรีวิวแล้วจะดีที่สุดเพื่อให้ทีมไม่เสียเวลาโดยเปล่าประโยชน์ และเพื่อให้เราสามารถมีส่วนร่วมในการรีวิวได้อย่างเต็มที่ด้วย
6. ดูมาก่อนช่วยได้เยอะ
บางครั้งโค้ดที่มีความซับซ้อนเยอะ ๆ ก็ทำให้เรานั่งไล่กันอยู่นานกว่าจะทำความเข้าใจและสามารถให้คำแนะนำหรือขอคำแนะนำจากทีมได้ หากเราพอจะรู้ว่าการรีวิวโค้ดครั้งหน้าจะมีโค้ดส่วนไหนบ้างแล้วดูหรือทำความเข้าใจมาก่อนจะทำให้การรีวิวโค้ดไหลลื่นมากขึ้น
7. หาคู่รีวิวแบ่งเบาได้
แน่นอน Pair programming ช่วยให้เรามีมุมมองเพิ่มขึ้นแต่หากบางคนไม่สะดวกจะทำลองใช้การ Pair review ดูสิ การเรียกคนในทีมมารีวิวโค้ดก่อนที่จะ push โค้ดเราขึ้นไปคือการรีวิวที่ย่อยที่สุดและทำได้ตลอดเวลา ขั้นตอนแรกในการกรองและเสริมมุมมองลงในโค้ด ทำให้ภาระทั้งหมดไม่ต้องอยู่ในมีตติ้งรีวิวโค้ด “แต่ในการรีวิวยังต้องรีวิวโค้ดส่วนนี้อยู่นะครับ”
8. ใช้ standard เป็นที่ยึดเหนี่ยวจิตใจ
หลายครั้งที่เราเถียงกันเรื่องการตั้งชื่อตัวแปรหรือแนวทางการเขียนโค้ดไม่จบสิ้น อย่าทำให้ปัญหาเหล่านี้มาทำให้เราเสียเวลาเลยดีกว่า
เพราะในโลกนี้มี coding standard เกิดขึ้นมาแล้วมากมาย หยิบสักตัวที่ทุกคนตกลงร่วมกันแล้วเลือกใช้มันซะ
ทีนี้ไม่ว่าอะไรจะเกิดขึ้นให้หยิบ standard มาคุยกัน จะได้พูดภาษาเดียวกันเนอะ