برنامه نویسی تدافعی یک سبک برنامه نویسی با هدف پیش بینی حفره های امنیتی و نقاط ضعف احتمالی است. هدف نهایی این مدل برنامه نویسی، جلوگیری از بروز مسائل احتمالی قبل از رویداد آن ها است اگرچه که هنوز رخ نداده است. توصیه ای وجود دارد با این مضمون که: "غیر قابل پیش بینی را پیش بینی کن" و زمانی که برنامه نویسی تدافعی یا Defensive Programming آن را تکمیل می کند و به شما می گوید "غیر قابل پیش بینی را پیش بینی کن و تلاش کن که از اتفاق افتادن آن جلوگیری کنی" این پیچیدگی بیش تر می شود.
در دوره آموزشی Pluralsight Advanced Defensive Programming Techniques با تکنیک های پیشرفته ی برنامه نویسی تدافعی آشنا می شوید.