code-review Archive

เราทำการ refactor code มากน้อยเพียงใด

ตามแนวคิด TDD (Test-Driven Development) นั้น การ refactoring นั้นถือได้ว่าเป็นสิ่งที่มีประโยชน์อย่างมากมาย เนื่องจาก ถ้าขาดการ refactoring แล้ว จะทำให้ code ในระบบของเรานั้นมี technical debt เพิ่มมากขึ้นเรื่อยๆ สุดท้ายถ้ามีมากขึ้นเรื่อยๆ จนต้องโยน code ชุดนี้ไป และต้อง rewrite ระบบเดิมขึ้นมาใหม่

Read More…

Java Code Smell :: ทำไมถึงต้องใช้ cast type และ instanceof

วันนี้ทำการ review code มาเจอ code ที่น่าสนใจ เกี่ยวกับการ cast type ของ object และการใช้ instanceof มาเพื่อตรวจสอบว่า เป็น instance ของ class ที่เราต้องการหรือไม่ มาดูกันว่ามันเป็นอย่างไร

Read More…

How to kill Code Review ?

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

Read More…

4 No สำหรับการทำ code review

Code review หรือ peer review มันคือ แนวปฏิบัติหลักของการพัฒนา software ซึ่งทีมพัฒนา software จะต้องปฏิบัติอยู่อย่างสม่ำเสมอ สามารถทำได้หลายลักษณะเช่น Pre-merge ทำการ review code ก่อน merge code เข้า branch หลัก เพื่อป้องกันความผิดพลาดต่างๆ Post-merge ทำการ review หลังจากที่ทำการ merge code แล้ว โดยมักจะเป็นกิจกรรมที่ถูกกำหนดไว้แล้ว (regular review) เพื่อหาข้อผิดพลาด และ สิ่งที่ผิดปกติต่างๆ โดยในบางทีมทำทั้งสองแบบก็จะเยี่ยมมากๆ นะ แต่เท่าที่เห็น แค่มี Code review ก็ยากลำบากล่ะ !!

Read More…

ในปี 2015 คุณอยากทำอะไร เพื่อทำให้การพัฒนา software ดีขึ้น

ในปี 2015 นี้ คุณในฐานนะที่เป็นนักพัฒนา software นั้น ถ้าให้เลือกทำ  technical practice อย่างใดอย่างหนึ่ง เพื่อทำให้การพัฒนา software ดีขึ้น คุณอยากจะทำอะไร

Read More…

ตอนที่ 02 :: 97 สิ่งที่ developer ควรรู้ :: Code Review

เรื่องที่สองที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Code Review เป็นเรื่องที่ทีมพัฒนาควรจะต้องทำกันเลย คำถาม ทำไมเราถึงต้องทำล่ะ ? คำตอบ เพราะว่าเราต้องการเพิ่มคุณภาพของ code และลดจำนวน defect/bug ลงไงล่ะ แต่เหตุผลมันคงไม่เพียงพอมั้ง เพราะว่านักพัฒนาส่วนใหญ่ก็ไม่ทำกัน !!

Read More…

ทุกวันนี้คุณตรวจสุขภาพของ Software ที่พัฒนากันอย่างไร

ในการพัฒนา software นั้น ยิ่งนานไปก็ยิ่งมีความซับซ้อนเพิ่มขึ้นเรื่อยๆ ซึ่งถ้าเราไม่สามารถจัดการความซับซ้อนเหล่านี้ได้ จะส่งผลให้ software ที่เราพัฒนาขึ้นมามันแย่ หรืออาจจะล้มไม่เป็นท่าก็ได้ ดังนั้น ถ้าเราสามารถรู้ได้ว่าใน software ที่เราสร้าง มีอัตราความซับซ้อนเพิ่มขึ้นอย่างไร และ เท่าไร ก็น่าจะทำให้เห็นว่าสิ่งที่เราพัฒนามีความเสี่ยงอย่างไร และจะแก้ไขอย่างไร ใช่ไหม ? แต่เราจะวัดค่าความซับซ้อน รวมทั้งค่าอื่นๆ ใน software ของเราอย่างไรดีล่ะ

Read More…

ถ้าโปรแกรมมีเพียง 1 บรรทัด คุณจะทำอะไรบ้าง

เคยฟังเรื่องเล่าตลกๆ เกี่ยวกับการพัฒนาระบบงาน ดังนี้ ระบบงานของเรามี bug เพียงตัวเดียว ระบบงานน่าจะมี code เพียงบรรทัดเดียว ดังนั้น สามารถสรุปได้ว่า ถ้าต้องการลด bug ของระบบ ก็ให้ลด code ลงเหลือสัก 1 บรรทัดสิ

Read More…

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

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

Read More…

ว่าด้วยเรื่อง Code Review

  หลังจากที่ในค่าย Spartan 3.0 นั้น เพิ่มช่วงเวลาการทำ Code review เข้าไป โดยพาทำในตอนเช้า เพื่อดูว่า เมื่อวานทีมทำอะไรไปกันบ้าง ช่วยกันดูว่าระบบที่พัฒนากันเป็นอย่างไร มีอะไรที่ผิดปกติไหม และอื่นๆ อีกมากมาย แต่การที่จะทำ Code review ได้นั้น ควรมีการกำหนดหรือพูดคุยกันในทีมก่อน เพื่อสร้างแนวปฏิบัติเดียวกันของคนในทีม โดยแนวปฏิบัติที่ขอแนะนำประกอบไปด้วย สิ่งต่างๆ ดังต่อไปนี้

Read More…