Вопросы с тегом «code-contracts»

4
Зачем мне использовать контракты кода
Недавно я наткнулся на структуру Microsoft для контрактов кода. Я прочитал немного документации и обнаружил, что постоянно спрашиваю: «Зачем мне это когда-либо хотеть, потому что он не делает и часто не может выполнить статический анализ». Теперь у меня уже есть своего рода защитный стиль программирования с такими исключениями: if(var == …

2
Когда использовать [Pure] в конструкторе?
Я изучаю контракты кода в .NET и пытаюсь понять идею чистых конструкторов. В коде договора документация говорится: Все методы, которые вызываются в контракте, должны быть чистыми; то есть они не должны обновлять никакое ранее существующее состояние. Чистый метод позволяет изменять объекты, которые были созданы после входа в чистый метод. И …

6
Контрактное программирование против модульного теста
Я несколько оборонительный программист и большой поклонник контрактов Microsoft. Теперь я не всегда могу использовать C #, и в большинстве языков единственный инструмент, который у меня есть, это утверждения. Поэтому я обычно получаю такой код: class { function() { checkInvariants(); assert(/* requirement */); try { /* implementation */ } catch(...) …

2
Код контрактов / утверждает: что с дублирующимися проверками?
Я большой поклонник написания заявлений, контрактов или любых других типов проверок, доступных на языке, который я использую. Одна вещь, которая меня немного беспокоит, это то, что я не уверен, какова общая практика работы с дублирующимися чеками. Пример ситуации: сначала я пишу следующую функцию void DoSomething( object obj ) { Contract.Requires<ArgumentNullException>( …

4
Обработка изменений в управляемой событиями архитектуре микросервиса
Я занимаюсь исследовательским проектом, в котором изучаю варианты обработки изменений в микросервисной архитектуре, управляемой событиями. Итак, скажем, у нас есть приложение, в котором мы получили четыре разных сервиса. Каждый из этих сервисов имеет собственную базу данных для хранения локальных данных. В этой настройке четыре службы обмениваются данными друг с другом …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.