Все вопросы: [invariants]

6 вопросов

похожие теги: loop-invariant
4
голосов
3ответов
1898 просмотров

Are preconditions and postconditions needed in addition to invariants in member functions if doing design by contract?

I understand that in the DbC method, preconditions and postconditions are attached to a function. What I'm wondering is if that applies to member functions as well. For instance, assuming I use invariants at the beginning at end of each public function, a member function will look like this: e...

26
голосов
3ответов
1439 просмотров

How free can I be in the code in an object invariant?

I'm trying to demonstrate invariants in Code Contracts, and I thought I'd give an example of a sorted list of strings. It maintains an array internally, with spare space for additions etc - just like List<T>, basically. When it needs to add an item, it inserts it into the array, etc. I figu...

13
голосов
6ответов
15351 просмотров

Пустые конструкторы и сеттеры на объектах JPA

Мне не нравится требование иметь хотя бы один пустой конструктор и общедоступные сеттеры для объектов JPA. Хотя я понимаю проблему на стороне EntityManager, это делает недействительными инварианты классов. Есть ли у кого-нибудь решение для этого (уровень проектирования или идиомы)? Спасибо...

7
голосов
4ответов
2340 просмотров

Как вы проверяете внутреннее состояние объекта?

Мне интересно узнать, какие методы вы используете для проверки внутреннего состояния объекта во время операции, которая, с ее собственной точки зрения, может дать сбой только из-за плохого внутреннего состояния или нарушения инварианта. Я в первую очередь сосредоточен на C ++, поскольку в C #...

131
голосов
12ответов
27752 просмотров

Что такое инвариант?

Это слово, кажется, используется в разных контекстах. Лучшее, что я могу понять, это то, что они означают переменную, которая не может измениться. Разве не для этого нужны константы / финалы (черт возьми, Java!)?

2
голосов
2ответов
1093 просмотров

Как сохранить рекурсивный инвариант в базе данных MySQL?

У меня есть дерево, закодированное в базе данных MySQL в виде ребер: CREATE TABLE items ( num INT, tot INT, PRIMARY KEY (num) ); CREATE TABLE tree ( orig INT, term INT FOREIGN KEY (orig,term) REFERENCES items (num,num) ) Для каждого листа дерева кто-то уста...