Подпишитесь на мой телеграм-канал, там я пишу о дотнете и веб-разработке.

Друзья:
//devdigest platform - новости и полезные статьи о дотнете.

Защитное программирование

April 04, 2018

Старый перевод старой статьи Марка Симана, автора книги “Внедрение зависимостей в .NET”. В ней он рассуждает о концепции защитного программирования, также описанной в книге “Совершенный код” (впервые?).

Статья в основном сосредоточена на проблеме NullRefferenceException, хотя защитное программирование в целом касается намного большего круга вопросов.

Суть такова: Ваш код не должен возвращать и передавать в другие методы null. Если вы находитесь в защищенной местности (область кода в которой вы можете быть уверены, что null вам не будет возвращен из метода или свойства объекта), то вы можете быть уверены, что null вы сами никуда не передадите, соответственно никакие дополнительные проверки для этого не нужны и всё сводится к:

  1. Проверяйте данные приходящие из незащищённой местности (пользовательский ввод, системы не являющиеся вашей зоной контроля или не следующие концепции защитного программирования).
  2. Не возвращайте в защищённой местности из ваших методов и объектов null.