tdd Archive

ทำไม developer กลัว code ของคนอื่น !!

บ่อยครั้งมากที่ developer มักจะต้องทำงาน อยู่บน code ที่ไม่มี test อยู่บน code ที่มี test นะ แต่คุณภาพไม่ดี อีกทั้ง test coverage ก็มีค่าที่ต่ำอีก แน่นอนว่า มันก่อให้เกิดปัญหาตามาอย่างมากมาย ลองมาดูหน่อยสิว่า แต่ละปัญหามันเป็นอย่างไร

Read More…

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

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

Read More…

Workshop :: มาฝึกเขียนโปรแกรมด้วยแนวคิด TDD กัน

ในงาน Agile Thailand 2014 และ Bug Day 2014 นั้น ได้เปิด session สำหรับการฝึกเขียนโปรแกรมด้วยแนวคิดของ TDD โดยได้นำแนวคิดต่างๆ มาจากงาน XP Conference และ Agile Testing Day และในงาน Agile Thailand 2015 ก็คิดไว้ว่าจะเปิด session แบบเดิมอีกเช่นกัน แต่ติดภารกิจสำคัญจึงไปร่วมงานไม่ได้ เลยมาเขียนสรุปแนวทางของ workshop ไว้ที่นี่ล่ะกัน ปล. ไม่รู้จะมีคนสนใจ workshop บ้างหรือเปล่านะ -+-

Read More…

บันทึก Cyber Dojo :: สิ่งที่ได้เรียนรู้จากปัญหาการนับจำนวนบรรทัดของ Code

ปัญหาที่นำมาเป็นโจทย์ในการฝึกคือ Counting code line หรือการนับจำนวน Line of Code นั่นเอง ซึ่งนำมาจาก Code Kata 13 แน่นอนว่า ปัญหานี้มีวิธีการแก้ไขหลากหลายมาก มาเริ่มฝึกกันดีกว่า และมาดูว่าสุดท้ายแล้วได้ผลอย่างไร

Read More…

แปลเรื่อง Recycle test ใน TDD

วันนี้อ่านเจอบทความที่น่าสนใจ เรื่อง Recycle test in TDD ซึ่งเป็นอีกแนวคิดหนึ่งในการเขียน test ตามแนวคิดของ TDD (Test-Driven Development) น่าจะพอช่วยให้การเขียน test น่าสนใจ และ ชัดเจนขึ้นมา มาดูกันดีกว่า ว่าเป็นอย่างไร

Read More…

ให้สนใจการส่งมอบงานบ่อยๆ แต่อย่าเร่งรีบ !!

ในปัจจุบันมีหลายๆ คนมักจะบอกว่า คุณควรจะเรียน Test-Driven Development (TDD) และเทคนิคการออกแบบระบบแบบ modular แต่คำถามที่คุณควรจะถามตัวเองก่อนก็คือ คุณมีปัญหาอะไร จึงทำให้คุณคิดว่าต้องหา practice ใหม่ๆ เพื่อแก้ไขปัญหา

Read More…

Programmers Love Writing Tests ด้วย jUnit ตอนที่ 2

หลังจากที่เราเขียน code และ เขียน test สำหรับการจัดการสกุลเงินแบบง่ายๆ ผ่านไปแล้วใน Programmers Love Writing Tests ด้วย jUnit ตอนที่ 1 ต่อไป เรามาทำอะไรที่มันท้าทายหรือยากขึ้นมาหน่อย นั่นก็คือ การจัดการกับสกุลเงินต่างๆ มากกว่า สกุลเดียวกัน มาเริ่มกันเลยดีกว่า ปัญหาเรื่อง Multiple Currency มีเงินหลากหลายสกุลในกระเป๋า เราจะจัดการอย่างไรดีล่ะ

Read More…

แนะนำหนังสือสำหรับ Unit Testing

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

Read More…

Pair Programming Economics

แนวปฏิบัติต่างๆ จาก Extreme Programming (XP) ทั้ง Test-Driven Development (TDD) Pair Programming เป็นแนวปฏิบัติที่มักโดนต่อต้านอย่างรุนแรง จากทั้งทาง manager, developer, lead ไม่ว่าด้วยเหตุผลใดๆ ก็ตาม แล้วเราจะมีเทคนิค และ วิธีการอะไรดีล่ะ ที่จะช่วยทำให้คนเหล่านั้นสนใจ และ เข้าใจ ในคุณค่าของ TDD และ Pair programming ขึ้นมาบ้าง

Read More…

Refactoring มันเสียเวลานะ

หลายๆ คนบอกว่า Refactoring มันคือสิ่งที่ทำให้เสียเวลาไปโดยเปล่าประโยชน์ เนื่องจากไม่รู้ว่าจะทำอะไร เนื่องจากไม่รู้ว่าจะทำอย่างไร เนื่องจากไม่รู้ว่าตัวเองไม่รู้อะไร เนื่องจากไม่รู้ว่าจะเปิด code ส่วนไหนมา refactor นะ เนื่องจากเราไม่ต้องการแก้ไข code อะไรนะ เนื่องจากเราไม่ต้องการเสียเวลาไปทั้งวันเพื่อ refactor code นะ

Read More…