วันนี้ช่วงพักกลางวันจากงาน Conference JCSSE2016 ได้นั่งลองเขียน code ตามแนวคิด TDD (Test Driven Development) เพื่อทบทวนความเข้าใจในเรื่อง Small step (Increamental step) นั่นคือการสร้างระบบให้โตขึ้นอย่างต่อเนื่อง และ เสถียร ด้วยการเขียนชุดการทดสอบนั่นเอง โดยได้ฝึกตามบทความเรื่อง The Right Tests in The Wrong Order สิ่งที่ได้เจอกับตัวเองคือ ถึงแม้ว่าชุดการทดสอบจะถูกต้องและสมเหตุสมผล แต่ถ้าลำดับของการทดสอบมันผิด ก็ส่งผลต่อประโยชน์ที่จะได้รับจาก TDD เช่นกัน
Read More…
จากปัญหาเรื่อง Kata FizzBuzz นั้นเป็นปัญหาที่ง่ายมาก ๆ ดังนั้นเราจึงสามารถแก้ไขปัญหาได้หลากหลายแนวทาง ซึ่งมันเหมาะสำหรับการเรียนรู้ ฝึกฝนกระบวนการคิด ฝึกฝนการเขียนโปรแกรมตามแนวคิด Test-Driven Developer (TDD) ดังนั้นมาดูอีกแนวทางในการแก้ไขปัญหา คือ Dependency Injection เริ่มกันเลย
Read More…
ในปัจจุบันมีแนวคิดมากมายเกี่ยวกับการฝึกฝนในสิ่งต่างๆ เพื่อให้เกิดความชำนาญ เช่น ฝึกเขียน code ทุกๆ วัน ฝึกเขียน code ติดต่อกัน 10,000 ชั่วโมง คำถามสำหรับ developer คุณทำการฝึกเขียน code กันบ้างหรือไม่ ? ไม่รวม code ที่เขียนในงานนะครับ
Read More…
หลังจากที่เขียน blog เกี่ยวกับ TDD ไปนั้น มีคนมาถามว่า แล้วจะฝึก หรือ เริ่มต้นอย่างไรดีล่ะ ? คำตอบนั้น มีเยอะมาก ดังนั้น จึงขอสรุปแนวทางการเรียนรู้ในแบบของผม &#
Read More…
ในงาน Agile Thailand 2014 และ Bug Day 2014 นั้น ได้เปิด session สำหรับการฝึกเขียนโปรแกรมด้วยแนวคิดของ TDD โดยได้นำแนวคิดต่างๆ มาจากงาน XP Conference และ Agile Testing Day และในงาน Agile Thailand 2015 ก็คิดไว้ว่าจะเปิด session แบบเดิมอีกเช่นกัน แต่ติดภารกิจสำคัญจึงไปร่วมงานไม่ได้ เลยมาเขียนสรุปแนวทางของ workshop ไว้ที่นี่ล่ะกัน ปล. ไม่รู้จะมีคนสนใจ workshop บ้างหรือเปล่านะ -+-
Read More…
ช่วงนี้มีโอกาสพาทีมพัฒนา ฝึกเขียน code กันพอสมควร ซึ่งมักจะเขียน code แบบ paring กัน และให้แก้ไขปัญหาต่างๆ จาก Cyber Dojo โดยหนึ่งในปัญหาที่ใช้ฝึกกันก็คือ Print Diamond มาดูกันว่าแก้ไขกันอย่างไรบ้าง
Read More…