Вопросы по теме 'design-by-contract'

Ruby and duck typing: дизайн по контракту невозможен?
Подпись метода в Java: public List<String> getFilesIn(List<File> directories) аналогичный в рубине def get_files_in(directories) В случае Java система типов дает мне информацию о том, что метод ожидает и предоставляет. В...
4233 просмотров
schedule 01.06.2024

Как я могу показать, что метод никогда не вернет значение null (дизайн по контракту) в С#
У меня есть метод, который никогда не возвращает нулевой объект. Я хочу пояснить, чтобы пользователям моего API не приходилось писать такой код: if(Getxyz() != null) { // do stuff } Как я могу показать это намерение?
2591 просмотров
schedule 02.05.2023

Аннотации ACSL к макросам C
Можно ли аннотировать макросы C с помощью ACSL? eg: /*@ assigns \nothing; behavior xmin: assumes x < y; ensures \result == x; behavior ymin: assumes y <= x; ensures \result == y; disjoint...
406 просмотров

Как применить инварианты экземпляра пользовательского класса в Java
Каков наилучший способ в Java обеспечить соблюдение инвариантов экземпляра класса (т. е. гарантировать, что определенные операторы верны прямо до и после вызова любого общедоступного метода)? Ниже я приведу пример (тот, который заставил меня...
377 просмотров
schedule 20.10.2023

(или/c #f ‹контракт›) vs ‹контракт›
Согласно следующему примеру из struct/dc entry в справочном руководстве Racket, функция bst/c ниже возвращает контракт, такой как каждый узел в bt его значение находится между lo и hi . (struct bt (val left right)) (define (bst/c lo...
108 просмотров
schedule 28.07.2022

Сначала контракт WCF: никакие методы не выставлены
Я получил WSDL с кучей XSD, и я использую их для создания службы WCF. Я использую svcutil.exe для создания класса службы, и в основном все работает нормально, за исключением того, что службы не предоставляют никаких методов. .cs-файл,...
1231 просмотров
schedule 03.05.2022

Как настроить Eclipse (Java) для распознавания пользовательского утверждения при проверке потенциального нулевого указателя
У меня есть следующий фрагмент кода Java: public void silence(final Object key) { final Chain chain = (Chain)getChain(key); checkPrecondition(chain != null); chain.silence(); } Вызов checkPrecondition вызывает исключение времени...
93 просмотров