ฉันจะป้องกันอย่างที่คุณต้องการ ค่อนข้างคลุมเครือฉันเดา แต่ฉันจะพยายามอธิบาย
เมื่อคุณเลือกวิธีการที่ถูกต้องหากวิธีนั้นมีพารามิเตอร์อินพุตคุณต้องตัดสินใจเลือกสิ่งที่คุณคาดหวังว่าพารามิเตอร์เหล่านั้นจะเป็น ในสถานการณ์และสถานที่ภายในแอปพลิเคชันนี้จะแตกต่างกัน ตัวอย่างเช่นหากวิธีการหรือส่วนหนึ่งของรหัสกำลังรับข้อมูลจากอินพุตของผู้ใช้คุณจะต้องครอบคลุมรหัสพื้นฐานทั้งหมดและจัดการอินพุตใด ๆ ตามนั้นไม่ว่าจะผ่านข้อความแสดงข้อผิดพลาดหรือวิธีที่ดีในการแสดงข้อมูลที่ยอมรับไม่ได้
หากวิธีการเป็น API ที่เปิดเผยเช่นกัน คุณไม่สามารถควบคุมสิ่งที่กำลังเข้ามาดังนั้นคุณควรคาดหวังที่จะลองและครอบคลุมทุกด้านและโปรแกรมตาม
สำหรับวิธีการที่ผลิตในกลไกหลักของโครงการของคุณที่นี่คุณมีการตัดสินใจ ฉันถือว่าข้อมูลที่มาถึงได้รับการคัดกรองล่วงหน้าและตรวจสอบก่อนที่มันจะมาถึงหรือฉันควรใส่ในการตรวจสอบที่จำเป็น ฉันเดาว่าสิ่งนี้ขึ้นอยู่กับระดับแนวคิดของวิธีการและหากนี่เป็นสถานที่ที่สามารถตรวจสอบได้ ดังนั้นสิ่งที่ฉันอาจพิจารณาคือ:
1) นี่เป็นสถานที่เดียวที่ฉันจะต้องทำการตรวจสอบนี้? ตัวแปรนี้จะต้องมีการตรวจสอบในสถานที่ต่าง ๆ มากมายสำหรับเงื่อนไขนี้หรือไม่ ถ้าเป็นเช่นนั้นฉันสามารถตรวจสอบได้อีกครั้งหนึ่งที่สูงขึ้นในห่วงโซ่และจากนั้นถือว่ามีผลในภายหลัง
2) เป็นส่วนประกอบอื่น ๆ ของระบบที่คาดว่าจะทำงานกับวิธีการและส่วนต่อประสานที่ฉันเขียน หากเป็นเช่นนั้นคุณสามารถควบคุมผ่านข้อความสั่งการตรวจแก้จุดบกพร่องข้อผิดพลาดในการตรวจแก้จุดบกพร่องวิธีการแสดงความคิดเห็นและสถาปัตยกรรมระบบทั่วไปตามที่คุณต้องการหรือข้อมูลที่จำเป็นต้องมีการตรวจสอบ
3) อะไรคือผลลัพธ์ของความล้มเหลว ณ จุดนี้ในรหัส มันจะทำให้สิ่งทั้งหมดล้มเหลวหรือไม่ ข้อผิดพลาดใด ๆ จะถูกจับที่อื่นและจะเกิดข้อผิดพลาดนั้นอย่างน้อย
4) การใส่เช็คที่นี่ใช่ไหม บางครั้งการตรวจสอบชิ้นส่วนของข้อมูลเสียหายที่เป็นไปได้แม้ว่าจะช่วยในการแก้ไขปัญหา ณ จุดนั้นและข้อผิดพลาดไม่ออกอาจช่วยให้ครอบคลุม ณ จุดนี้คุณอาจใช้เวลาหลายชั่วโมงในการติดตามปัญหาที่แตกต่างกันเพื่อค้นหาปัญหาที่แท้จริงเนื่องจากการตรวจสอบข้อมูลที่ถูกต้องซึ่งย้อนกลับไปในเหตุการณ์ที่เชื่อมโยงกับผู้ใช้ / นักพัฒนาที่ได้รับรายงาน
โดยทั่วไปฉันเป็นโปรแกรมเมอร์ป้องกัน แต่ฉันก็เชื่อว่าด้วยการทดสอบ TDD และการทดสอบหน่วยที่เหมาะสมที่คุณสามารถใส่รหัสตรวจสอบในระดับที่กำหนดและมั่นใจได้ว่ามันจะทำงานได้ตามที่ควรเมื่อเข้าสู่ส่วนล่าง .