code-review Archive

แนะนำการ review code ที่น่าสนใจมาก ๆ

จากหนังสือ Programming Beyond Practices (Be more than just a code monkey) ได้แนะนำขั้นตอนการ review code ที่น่าสนใจดังนั้น ลองคิดดูสิว่า ถ้าเราเป็นลูกค้า หรือ ผู้ว่าจ้าง โดยที่รู้ด้วยว่าการเปลี่ยนแปลง code ต่าง ๆ จะเกิดผลกระทบ หรือ มีความเสี่ยงอะไรบ้าง ? เราน่าจะลดขั้นตอนการ review ต่าง ๆ ลงไป แล้วมาพยายามส่งมอบระบบงานให้ได้บ่อย ๆ ดีกว่าไหม

Read More…

เป้าหมายของ Code Review คืออะไร ?

ในการพัฒนา software นั้นการทำงานเป็นทีมมันสำคัญมาก ๆ ยิ่งเรื่องของ code ที่มีคุณภาพ (Code Quality) ยิ่งสำคัญมากขึ้นไปอีก แต่สิ่งยากกว่าคือ จะทำการ review code อย่างไรดี ? เนื่องจากแต่ละคนในทีมล้วน มีสิ่งที่ต้องทำ มีสิ่งที่ต้องแก้ไข มีการเรียงลำดับความสำคัญของงานที่ต่างกัน ที่สำคัญคือ ทีมส่วนใหญ่เน้นการทำให้เสร็จมาก่อนทำให้ดี !! สิ่งที่ตามมาคือ การ rework หรือแก้งานเดิม ๆ อยู่ตลอดเวลา ดังนั้นก่อนอื่นเรามาทำความเข้าใจกับการ review code ก่อนว่า มันมีเป้าหมายอะไรบ้าง ? เพื่อทำให้ทุกคนในทีมมีความเข้าใจตรงกันและเห็นความสำคัญอีกด้วย

Read More…

แนะนำการใช้งาน SwiftLint เพื่อตรวจสอบ code

วันนี้ Swift developer ทำการตรวจสอบรูปแบบของ source code กันหรือไม่ ? มีข้อตกลงในการเขียน code ( Code convention ) หรือไม่ ? ถ้ายังไม่มีขอแนะนำ SwiftLint ซึ่งจะช่วยเหลือเรื่องดังกล่าวอย่างมาก โดยอ้างอิงรูปแบบจาก Swift style guide ดังนั้นมาดูการใช้งานกันนิดหน่อย

Read More…

สรุปผลการสำรวจเรื่องการปรับปรุงคุณภาพของ code

ข้อมูลจากผลแบบสำรวจ State of code quality 2016 โดย Smartbear.com โดยผู้ทำแบบสำรวจเป็น software developer และ tester กว่า 600 คน เป้าหมายเพื่อสอบถามว่า มีความพึงพอใจกับคุณภาพของ code ที่พัฒนาขึ้นมาหรือไม่ ? และทำการปรับปรุงคุณภาพขึ้นมาได้อย่างไร ? ซึ่งเป็นสิ่งที่สำคัญอย่างมากในการพัฒนา software ดังนั้นมาดูผลสรุปที่น่าสนใจกันนิดหน่อย

Read More…

3 หัวใจหลัก สำหรับการทำ Code Review

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

Read More…

คิดอย่างไรกับการทำ Code Review

ไม่ว่าจะเป็น Code review, Test-Driven Development และ Continuous Integration ล้วนเป็นแนวปฏิบัติที่เกิดขึ้นมา เพื่อทำให้มั่นใจว่า code ที่ถูกสร้างขึ้นมาในแต่ละวัน มันมีคุณภาพที่ดีขึ้น โดยหลายทีม หลายองค์กร ได้นำไปใช้ในการพัฒนา software แต่หลาย ๆ ที่ก็ไม่นำแนวปฏิบัติเหล่านี้ไปใช้งาน หรือนำไปใช้แล้วกลับก่อให้เกิดปัญหาแทน ดังนั้นมาดูเหตุผลหลัก ๆ ว่ามันคืออะไร

Read More…

Eventual crappiness มันคืออะไร และ จะป้องกันอย่างไรดี ?

วันนี้ได้อ่านบทความเรื่อง How to prevent eventual crappiness ซึ่งได้อธิบายไว้ว่า Eventual crappiness – eventually all software will become crap มาดูกันว่ามันคืออะไร ? มีข้อเสียอะไรบ้าง ? และเราสามารถป้องกันได้อย่างไร

Read More…

ทำไมต้องทำ Code Review ด้วยล่ะ ?

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

Read More…

สิ่งที่ได้เรียนรู้จากการทำ Code Review

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

Read More…

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

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

Read More…