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.
Course info
Rating
(166)
Level
Intermediate
Updated
Aug 25, 2017
Duration
6h 21m
Table of contents
Course Overview
Understanding Limitations of Traditional Defensive Code
Removing Corruption by Only Creating Consistent Objects
Removing Corruption by Only Making Valid State Transitions
Dismissing Defensive Code by Avoiding Primitive Types
Defining Function Domains as the Primary Line of Defense
Building Defensive Design Instead of Writing Defensive Code
The Principle of Working with Objects, Not with Nulls
Building Rich Domain Model as an Effective Defense by Design
Designing Alternative Workflows Instead of Defending from Errors
Description
Course info
Rating
(166)
Level
Intermediate
Updated
Aug 25, 2017
Duration
6h 21m
Description

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.

About the author
About the author

Zoran Horvat is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack.

More from the author
Mastering Object-oriented Programming in Java
Intermediate
3h 20m
Nov 6, 2019
Making Your Java Code More Object-oriented
Intermediate
2h 12m
Aug 26, 2019
Writing Purely Functional Code in C#
Advanced
4h 14m
May 23, 2018
More courses by Zoran Horvat