หลักฐานคือแบรดจำเป็นต้องสร้างระบบการเรียกเก็บเงินการสมัครสมาชิกซึ่งจะปิดการเรียกเก็บเงินเป็นระยะและอัปเดตบันทึกลูกค้า - โดยใช้ C # และ xUnit.net (กรอบการทดสอบของแบรดที่เขาสร้างขึ้นด้วย Jim Newkirk) หลาย ๆ คนฟังดูง่าย สำหรับผู้ที่นำสิ่งนี้ไปใช้ - ไม่ว่าจะเป็นอะไรก็ตาม
สิ่งที่ฉันชอบจริง ๆ เกี่ยวกับตอนนี้คือฉันผลักแบรดพอที่จะลบ“ เดเนียร์วีเนียร์สาธิต” - ฉันให้ลูกโค้งเวลาประมาณ 30 นาทีในที่ที่ฉันพูดว่า“ ใช่แล้ว…ฉันพูดถึงว่าเราก็ทำ X ด้วยเช่นกัน ?” - และเขาก็ต้องปรับตัว
เมื่อคุณมีข้อทดสอบที่คิดว่าเรื่องหนึ่งคุณจะต้องเปลี่ยนไปทำแบบอื่น - มันเป็นความเจ็บปวดในตูด แต่แบรดจัดการมันได้อย่างน่าอัศจรรย์โดยใช้โอกาสที่จะผลักดันโครงสร้างที่มากขึ้นในกระบวนการทดสอบของเขาจากนั้นหนึ่งในหนึ่งก็จะ“ เปลี่ยน” การทดสอบเก่าของเขาเข้าสู่แนวทางใหม่
เราทำงานทั้งชั่วโมงภายในไฟล์รหัสเดียว - และฉันไม่เคยเห็นใครทำแบบนั้นมาก่อน แน่นอนว่าฉันได้สร้างชั้นเรียนที่นั่นภายในรหัส - แต่ดูแบรดหมุนคลาสหลังเลิกเรียนแล้วเปลี่ยนชื่อแล้วลบจากนั้นปรับโครงสร้างการทดสอบของเขาทั้งหมด ... มันน่าสนใจมาก
พวกเขามักจะบอกว่า TDD เป็น "กระบวนการออกแบบ" - แต่ฉันไม่เคยเห็นมันใช้วิธี "design-y" อย่างแท้จริง - เหมือนจิตรกรอาจโยนสีหลังจากสีบนผืนผ้าใบจนกว่ามันจะดู / รู้สึกว่าถูกต้อง และนั่นคือความรู้สึกที่เฝ้ามองเขา
แบรดกล่าวว่า“ ฉันออกจากชั้นเรียนในไฟล์ทดสอบจนกว่าจะพร้อมออกสู่สาธารณะ” ประมาณ 15 นาที - หมายความว่าเขามีการทดสอบเพียงพอที่จะพิสูจน์การตัดสินใจการออกแบบของเขา แนวคิดที่ฉันไม่เคยคิดถึงมาก่อน - เหมือนใช้ไฟล์ทดสอบเป็นบิตของ "มดลูก"
เขา“ รู้สึก” ทางของเขาผ่านการสร้างระบบการเรียกเก็บเงิน - พูดคุยกับตัวเองตลอดเวลาและสร้างสิ่งที่ค่อนข้างน่าสนใจและค่อนข้างน่ากลัวใกล้เคียงกับสิ่งที่เราจบลงด้วยหลังจากผ่านไป 3 ปี