Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

C# - где используется класс Debug?

28.11.22 12:05
Re: C# - где используется класс Debug?
 
Программист коренной житель
Философский в какой-то мере. Но вроде бы о том, что в публичных методах НАДО проверять все параметры, которые не могут быть null-ем, перестали спорить уже лет 10 назад. Да, надо.

Ну вот у нас как раз такой случай, когда проверять все публичные методы не надо :)

У нас так, есть фабрика объектов, которая конфигурируется в xml. И многие (но не все), объекты (контроллеры, фабрики итд) создаются в рантайме. Все это работает по принципу депенденси инжектора, т.е. если какой-то объект создается фабрикой и при этом имеет какие-то параметры, то параменты эти тоже идут из фабрики. Короче говоря, такой самописный Ninject (было написано задолго до появления котовых контейнеров).

Короче, те объекты, которые создаются фабрикой никто никогда не проверяет на null, просто пишут Debug.Assert и этого достаточно. Используется опять же в основном в тестах, просто чтобы не забыть мокнуть какой-нибудь объект.


Искать причины NRE одно из самых увлекательных занятий.

Ну не знаю, как по мне, это одна из самых простых задач :) Если конечно в null не скидывается где-то в соседних потоках :D А так, брейк-поинты с условием - и останавливаешься там где надо. Ну и Debug.Assert очень помогает :)

 

Перейти на