|
|
|
Контрактное программирование в Java.
|
|||
|---|---|---|---|
|
#18+
Применяется ли в Java контракное программирование ( design by сontract ), и если да, то насколько широко? Варианты: 1). Использование конструкции assert . 2). Использование библиотек или фреймворков, например SpringContracts . 3). Можно ли заменить контрактное программирование тестированием? Если я правильно понимаю - контрактное программирование применяется для тестирования и проверки состояния данных внутри методов на этапе разработки. В готовом проекте механизм применяемый для контрактного программирования отключается ? ps. Прочитал про design by contract обзорно, возможно где то чего то недопонял, интересует нужно ли копать дальше по этой теме, будет ли это полезным. Буду рад любой полезной информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2016, 14:17 |
|
||
|
Контрактное программирование в Java.
|
|||
|---|---|---|---|
|
#18+
faustgreenЕсли я правильно понимаю - контрактное программирование применяется для тестирования и проверки состояния данных внутри методов на этапе разработки. DbC - В общем выглядит, как попытка сделать валидацию входных данных на "стороне" от основного кода (метода/процедуры/и т.д.). По принципу - "проверили один раз и хватит" . имхо P.S. Рекомендую также посмотреть в сторону АОП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2016, 05:57 |
|
||
|
Контрактное программирование в Java.
|
|||
|---|---|---|---|
|
#18+
faustgreen3). Можно ли заменить контрактное программирование тестированием? Если я правильно понимаю - контрактное программирование применяется для тестирования и проверки состояния данных внутри методов на этапе разработки. requie остаётся всегда, ensure удаляется в прод-коде. инвариант- не помню. Т.к. контракт наследуется, то я не знаю, как это сделать в java. Разве что сделать специальные аннотации (в принципе, ничего запредельно сложного нет, но есть где душе развернуться). PS: АОП не замена . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2016, 17:01 |
|
||
|
Контрактное программирование в Java.
|
|||
|---|---|---|---|
|
#18+
Alexey TominАОП не замена .DbC - это частный случай применения АОП.Alexey TominТ.к. контракт наследуется, то я не знаю, как это сделать в java.Решается при помощи "сквозной" функциональности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2016, 17:37 |
|
||
|
Контрактное программирование в Java.
|
|||
|---|---|---|---|
|
#18+
UsmanAlexey TominАОП не замена .DbC - это частный случай применения АОП.Alexey TominТ.к. контракт наследуется, то я не знаю, как это сделать в java.Решается при помощи "сквозной" функциональности Можно пример "require or"? Т.е. когда при попытке в наследнике ужесточить контракт код не компилируется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2016, 20:35 |
|
||
|
Контрактное программирование в Java.
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, Contract enforcement with AOP Alexey TominТ.е. когда при попытке в наследнике ужесточить контракт код не компилируется?Осталось только запилить поддержку аннотаций (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2016, 02:14 |
|
||
|
Контрактное программирование в Java.
|
|||
|---|---|---|---|
|
#18+
UsmanAlexey Tomin, Contract enforcement with AOP Alexey TominТ.е. когда при попытке в наследнике ужесточить контракт код не компилируется?Осталось только запилить поддержку аннотаций (: Не вижу там поддержку requie or. И вообще не понимаю, как сделать так, чтобы возникала ошибка КОМПИЛЯЦИИ Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2016, 09:00 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=98&tid=2124110]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 326ms |

| 0 / 0 |
