Когда мне нужно отлаживать.заселенные кодовые контракты или наоборот? Я хочу проверить предварительное условие для метода, и я смущен, чтобы выбрать один над другим. У меня есть модульные тесты, где я хочу протестировать сценарии отказа и ожидать исключения.Debug.Assert vs Code Контракт
Полезно ли использовать протокол Debug.Assert и Code на том же методе. Если да, то каков будет порядок, в котором должен быть написан код?
Debug.Assert(parameter!= null);
Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
или
Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
Debug.Assert(parameter!= null);
Есть ли смысл всего этого?
Я полностью согласен, но если я захочу использовать debug.assert и код контракта на том же месте, если он будет в определенном порядке? – CarbineCoder
Не знаете, почему вы сделали бы двойную проверку таким образом. Порядок не должен соответствовать. Если бы я делал это, я считаю, что сначала поставил Debug.Assert в качестве средства отладки разработки. – Dweeberly
Debug.Assert не будет там в коде Release, но контракты с кодом будут. Поэтому я чувствую, что есть случаи, когда debug.assert будет необходим параллельно с кодовыми контрактами - я могу ошибаться. Отсюда вопрос. – CarbineCoder