การตั้งโปรแกรมป้องกันคือการสร้างรหัสสำหรับซอฟต์แวร์คอมพิวเตอร์ที่ออกแบบมาเพื่อหลีกเลี่ยงปัญหาที่มีปัญหาก่อนที่จะเกิดขึ้นและทำให้ผลิตภัณฑ์มีเสถียรภาพมากขึ้น แนวคิดพื้นฐานที่อยู่เบื้องหลังวิธีการนี้คือการสร้างโปรแกรมที่สามารถทำงานได้อย่างถูกต้องแม้ผ่านกระบวนการที่ไม่คาดคิดหรือเมื่อผู้ใช้ทำรายการที่ไม่คาดคิด การตั้งโปรแกรมการป้องกันมักอาศัยการผสมผสานที่ขัดแย้งกันของการกำจัดรหัสที่ไม่จำเป็นในขณะที่สร้างความมั่นใจว่ามีจำนวนที่เพียงพอในการจัดการกับการกระทำของผู้ใช้ที่เป็นไปได้ทั้งหมด การทดสอบอย่างกว้างขวางก็มีความสำคัญสำหรับกระบวนการนี้เช่นเดียวกับการสร้างซอฟต์แวร์ที่สามารถตรวจสอบและตรวจสอบได้ง่าย
ในหลาย ๆ แนวคิดของการเขียนโปรแกรมการป้องกันเป็นเหมือนการป้องกันการขับรถในปัญหาที่ได้รับการพิจารณาก่อนที่จะเกิดขึ้น วิธีการทั่วไปอย่างหนึ่งในการพยายามทำเช่นนี้ก็คือการสร้างรหัสที่มีความหมายเพื่อจัดการกับสถานการณ์ที่อาจเกิดขึ้นได้ โดยทั่วไปโปรแกรมเมอร์จะพยายามกำหนดวิธีการที่ผู้ใช้มีแนวโน้มที่จะป้อนข้อมูลเข้าหรือพยายามใช้ซอฟต์แวร์ที่อาจอยู่นอกพารามิเตอร์ที่คาดไว้ การใช้การตั้งโปรแกรมการป้องกันถูกสร้างขึ้นบนพื้นฐานของโค้ดเองซึ่งถูกออกแบบมาเพื่อให้สามารถจัดการกับการป้อนข้อมูลแปลก ๆ โดยไม่ต้องหยุดทำงานหรือพบเหตุการณ์ข้อผิดพลาด
ในทางตรงกันข้ามกับองค์ประกอบของการเขียนโปรแกรมการป้องกันนี้ แต่รหัสที่เขียนดีจะต้องปราศจากรายการที่ไม่จำเป็น ยิ่งมีโค้ดมากขึ้นในส่วนของโปรแกรมโอกาสที่จะเกิดข้อผิดพลาดก็จะยิ่งมากขึ้น โดยทั่วไปแล้วการปฏิบัติการเขียนโปรแกรมเชิงป้องกันสนับสนุนให้นักพัฒนากำจัดรหัสที่ไม่จำเป็นและปรับปรุงโปรแกรมเมื่อใดก็ตามที่เป็นไปได้ ดังนั้นจึงต้องสร้างยอดดุลระหว่างการเขียนโปรแกรมที่อธิบายสถานการณ์ที่ไม่คาดคิดและรหัสที่มีเนื้อหาที่ไม่จำเป็นมากเกินไปโดยไม่ให้ประโยชน์ใด ๆ
การทดสอบเป็นหนึ่งในส่วนที่สำคัญที่สุดของการเขียนโปรแกรมป้องกัน แม้จะมีความพยายามอย่างมากในการสร้างความมั่นใจว่าโค้ดนั้นสมบูรณ์แบบนักพัฒนามักพลาดผิดพลาดหรือสร้างโค้ดด้วยผลลัพธ์ที่ไม่คาดคิด การทดสอบอย่างละเอียดโดยผู้ทดสอบมืออาชีพช่วยให้นักพัฒนามีการใช้ผลิตภัณฑ์เป็นร้อย ๆ ชั่วโมงเพื่อค้นหาข้อผิดพลาดก่อนที่ซอฟต์แวร์จะวางจำหน่าย
รหัสที่สร้างขึ้นในการตั้งโปรแกรมการป้องกันก็เป็นส่วนสำคัญของกระบวนการนี้ ไม่เพียง แต่ควรปรับปรุงให้มีความคล่องตัวมากที่สุดเท่าที่จะเป็นไปได้ แต่ควรนำเสนอในรูปแบบที่ชัดเจนและรัดกุม นักพัฒนามักใช้การตรวจสอบเพื่อตรวจสอบรหัสที่สร้างขึ้น สิ่งนี้ทำให้โปรแกรมเมอร์คนอื่นเห็นงานที่ทำไปแล้วและรหัสที่อ่านได้มีความสำคัญสำหรับสิ่งนี้เพื่อเป็นส่วนหนึ่งของการพัฒนาที่สมจริง


