|
|
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNtchingiz, мы выяснили, что квадрат не является подтипом прямоугольника. давай теперь решим задачку, как нам наилучшим образом реализовать контракт из задачки: ZyK_BotaN Есть класс прямоугольников, и есть подпрограммы, которые умеют работать только с прямоугольником у которого все стороны равны. Как нам обезопасить использование этих подпрограмм? моим решением, является иерархия представленная выше, но у нее есть огромный недостаток - неизменяемость данных. как решить ту же проблему для изменяемых объектов я не знаю. /topic/800476&pg=7#9681990 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2010, 01:50 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNegorych PS используя его технику легко отнаследовать квадрат от круга, например.. Но это же абсурд дай пример. мне тут обещали, используя мою технику, отнаследовать прямоугольник от квадрата, но я не увидел этого. Моя техника базировалась на том, что квадрат всегда является прямоугольником, наоборот уже не верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2010, 01:55 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
во первых, почему в твоем коде функции showШото не засунуты в свой класс под именем show? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2010, 02:00 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Ну сколько раз по одному месту на стене.... Где аксиоматика классов? Нет аксиоматики - нет контрактов и нет программы. Контракт - это описаниие кто и что обязуется выполнить. ЗЫ. Сижу на горе с ноутбуком =) ЗЫ2. Мультик был советский - два чела смотрят с разных сторон на предмет: 1й - круг!!! 2й - квадрат!!! .... А предмет - цилиндр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2010, 09:39 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
tchingizво первых, почему в твоем коде функции showШото не засунуты в свой класс под именем show? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. в моем случае эти функции не принадлежат типу, а используют его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2010, 15:13 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
с восстановлением ребенка, который делает вид, что он родитель к ребенку мы уже разобрались? /topic/800476&pg=3#9674202 в исходном принципе действительно не заметно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2010, 23:34 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2010, 23:57 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
а, getSpace выводится из двух других, для нее не нужна специальная аксиоматизация Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 00:34 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Аксиоматика для Мартина Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Расширили аксиоматикой для ЗБотана Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 00:40 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 00:51 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
где отличия от Мартина? его первый пример, чуть переделанный под функциональный стиль. воид заменил на тип Код: plaintext 1. 2. 3. 4. 5. использование в фукнциональном стиле Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. вызов squareAfterF(Square(5)) выдаст false -- получился не Square, предполагаемый (но пока формально не введенный )инвариант нарушен. Чего добились? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 01:18 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
для фукнционального стиля без переменных) это требование авторВ цепочке должно быть два преобразования ребенок -> родитель, изменение ребенка, под видом родителя ранее написанными программами родитель -> ребенок выглядит так Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 01:26 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
tchingiz, Это что за язык? Тяжеловато читается, в общем понятно, но надо бы синтаксис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 16:54 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Introduction to RAISE Chris George March 2002 http://agp1.hx0.ru/arts/report249.pdf Алгебраическое проектирование класса http://www.softcraft.ru/design/classdesign/ авторКурс «Формальная спецификация и верификация программ» 2010-2011 уч.г. 2010 | 2009 | 2008 Лекторы: проф., доктор физ.-мат. наук Петренко А. К., канд. физ.-мат. наук Хорошилов А. В. Продолжительность: 36 часов лекции, 36 часов семинары, 72 часа самостоятельная работа. Аудитория: студенты 5 курса кафедр СП, АСВК и АЯ. Лекции по средам на первой паре (8:45 - 10:30) в аудитории П-8. http://sp.cmc.msu.ru/courses/fmsp/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2010, 18:45 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
tchingiz, Нет, я не готов на такие жертвы - столько читать из чистой computer science ради квадратосрача ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 12:09 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Siemargltchingiz, Нет, я не готов на такие жертвы - столько читать из чистой computer science ради квадратосрача ( "квадрат/прямоугольник" - это только образец. а проблема такого рода встречается часто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 13:00 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Siemargl, можно подумать, твой дизайн по контракту чемто отличается в смысле чистой сайенс от аксиом в рсл. наследование схемы там очевидное, иф зен элсе тоже очевиден. разве что обьявление типов, аксиомы и функциональный стиль не привычен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 18:30 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
кстати, императивную часть и параметризацию схем в рсл не зачем читать для аксиом. ZyK_BotaN так мы с функциональным стилем покончили? или так написать наследование прямоугольников из квадратов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 23:49 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
tchingizкстати, императивную часть и параметризацию схем в рсл не зачем читать для аксиом. ZyK_BotaN так мы с функциональным стилем покончили? или так написать наследование прямоугольников из квадратов? покончили, и наследования не надо. меня интересует альтернативное решение(ф-му решению с наследованием), решение проблемы с выполнением контракта, что у прямоугольника, передаваемого в качестве параметра, все стороны равны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 23:53 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
tchingizкстати, императивную часть и параметризацию схем в рсл не зачем читать для аксиом. ZyK_BotaN так мы с функциональным стилем покончили? или так написать наследование прямоугольников из квадратов? Граждане а как это у вас квадрат наследовал прямоугольник. Сам по себе класс прямоугольника прекрасно выполняет функции квадрата. Наследование обычно идет в сторону расширения возможностей, тоесть прямоугольник может расширить квадрат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2010, 00:33 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
обоже )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2010, 00:59 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
rstudio, Точно, я уже предлагал к солдатикам перейти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2010, 08:26 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
Siemarglrstudio, Точно, я уже предлагал к солдатикам перейти. ну зачем так сложно для чингиза. Нужно ему предложить класс Ноль пронаследовать от класса ЦелыеЧисла, а потом сидеть и удивляться, а как это не все методы можно применить к классу Ноль, многие не имеют из них смысла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2010, 11:48 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
rstudio Нужно ему предложить класс Ноль пронаследовать от класса ЦелыеЧисла, а потом сидеть и удивляться, а как это не все методы можно применить к классу Ноль, многие не имеют из них смысла какая ф-я принимающая целые числа не может принимать ноль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2010, 12:34 |
|
||
|
Re: Выгоды контрактного программирования (design by contract) квадратосрач2 +
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNrstudio Нужно ему предложить класс Ноль пронаследовать от класса ЦелыеЧисла, а потом сидеть и удивляться, а как это не все методы можно применить к классу Ноль, многие не имеют из них смысла какая ф-я принимающая целые числа не может принимать ноль? а какая ф-я принимающая прямоугольник не может принимать квадрат ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2010, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36930293&tid=1341820]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
110ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
196ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 576ms |

| 0 / 0 |
