Должен ли я включать проверку контрактов кода во время выполнения для .NET 4.0 в сборках релиза?

Предполагая весь новый код .NET 4.0

Я вижу, что есть возможность включить их. Однако я не понимаю, в чем заключается лучшая практика?

Является ли лучшей практикой то, что после выполнения статической проверки вам не нужно выполнять проверку во время выполнения (поскольку компилятор убеждается, что условия выполнены)? Или есть сценарии, в которых, даже если компилятор проверяет это за вас, все равно возможно, что во время выполнения условие не будет выполнено?

Есть ли в интернете хорошие обсуждения или статьи на эту тему. Я вижу много статей, которые объясняют, как сделать то или другое, но не так много статей, которые объясняют, что является лучшей практикой, предполагающей весь новый код .NET 4.0 без необходимости обратной совместимости.

9
задан Mark 28 November 2011 в 22:11
поделиться