Advanced Defensive Programming Techniques
This course will lead you step by step through the process of developing defensive design practices, which can substitute common defensive coding, for the better of software design and implementation.
How often do you have to defend from nulls, zeros, surprising cases hitting switch instruction, impossible else branches, and so on? Is your life a struggle with issues caused by unexpected data or invalid system state? In this course, Advanced Defensive Programming Techniques, you’ll learn how to defend by means of design, so that almost all explicit defensive code can be happily removed. First, you’ll discover how to build validation. Next, you’ll explore how exactly to design a public interface. Finally, you’ll cover how to unify error flows, so nothing unpredictable can take you by surprise. By the end of this course, you’ll have the necessary knowledge to efficiently develop your own defensive design practice.
Author Name: Zoran Horvat
Author Description:
Zoran Horvat is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack. He can often be found speaking at conferences and user groups, promoting object-oriented development style and clean coding practices and techniques that improve longevity of complex business applications.
Table of Contents
- Course Overview
1min - Understanding Limitations of Traditional Defensive Code
40mins - Removing Corruption by Only Creating Consistent Objects
31mins - Removing Corruption by Only Making Valid State Transitions
40mins - Dismissing Defensive Code by Avoiding Primitive Types
45mins - Defining Function Domains as the Primary Line of Defense
44mins - Building Defensive Design Instead of Writing Defensive Code
42mins - The Principle of Working with Objects, Not with Nulls
46mins - Building Rich Domain Model as an Effective Defense by Design
43mins - Designing Alternative Workflows Instead of Defending from Errors
46mins
There are no reviews yet.