kata Archive

ลำดับของการทดสอบส่งผลต่อประโยชน์ที่จะได้รับจาก TDD นะ

วันนี้ช่วงพักกลางวันจากงาน Conference JCSSE2016 ได้นั่งลองเขียน code ตามแนวคิด TDD (Test Driven Development) เพื่อทบทวนความเข้าใจในเรื่อง Small step (Increamental step) นั่นคือการสร้างระบบให้โตขึ้นอย่างต่อเนื่อง และ เสถียร ด้วยการเขียนชุดการทดสอบนั่นเอง โดยได้ฝึกตามบทความเรื่อง The Right Tests in The Wrong Order สิ่งที่ได้เจอกับตัวเองคือ ถึงแม้ว่าชุดการทดสอบจะถูกต้องและสมเหตุสมผล แต่ถ้าลำดับของการทดสอบมันผิด ก็ส่งผลต่อประโยชน์ที่จะได้รับจาก TDD เช่นกัน

Read More…

แก้ไขปัญหา FizzBuzz ด้วยแนวคิด Dependency Injection

จากปัญหาเรื่อง Kata FizzBuzz  นั้นเป็นปัญหาที่ง่ายมาก ๆ ดังนั้นเราจึงสามารถแก้ไขปัญหาได้หลากหลายแนวทาง ซึ่งมันเหมาะสำหรับการเรียนรู้ ฝึกฝนกระบวนการคิด ฝึกฝนการเขียนโปรแกรมตามแนวคิด Test-Driven Developer (TDD) ดังนั้นมาดูอีกแนวทางในการแก้ไขปัญหา คือ Dependency Injection เริ่มกันเลย

Read More…

มาฝึกเขียน code ในทุกๆ วันกัน

ในปัจจุบันมีแนวคิดมากมายเกี่ยวกับการฝึกฝนในสิ่งต่างๆ เพื่อให้เกิดความชำนาญ เช่น ฝึกเขียน code ทุกๆ วัน ฝึกเขียน code ติดต่อกัน 10,000 ชั่วโมง คำถามสำหรับ developer คุณทำการฝึกเขียน code กันบ้างหรือไม่ ? ไม่รวม code ที่เขียนในงานนะครับ

Read More…

Kata คือเส้นทางการเรียนรู้ TDD

หลังจากที่เขียน blog เกี่ยวกับ TDD ไปนั้น มีคนมาถามว่า แล้วจะฝึก หรือ เริ่มต้นอย่างไรดีล่ะ ? คำตอบนั้น มีเยอะมาก ดังนั้น จึงขอสรุปแนวทางการเรียนรู้ในแบบของผม &#

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…

Coding Dojo :: ว่าด้วยเรื่องการแก้ปัญหา Print Diamond

ช่วงนี้มีโอกาสพาทีมพัฒนา ฝึกเขียน code กันพอสมควร ซึ่งมักจะเขียน code แบบ paring กัน และให้แก้ไขปัญหาต่างๆ จาก Cyber Dojo โดยหนึ่งในปัญหาที่ใช้ฝึกกันก็คือ Print Diamond  มาดูกันว่าแก้ไขกันอย่างไรบ้าง

Read More…