Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton О том что ООП - математически недоказуемо. И что это значит? ООП это инструмент. Звучит так же странно, как молоток -- математически недоказуемо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 00:12 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton О том что ООП - математически недоказуемо. И что это значит? ООП это инструмент. Звучит так же странно, как молоток -- математически недоказуемо :) это значит, что оно не в языке, за рамками формальной системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 08:32 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
love_bach это значит, что оно не в языке, за рамками формальной системы ООП в разных языках реализовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 12:50 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton О том что ООП - математически недоказуемо. И что это значит? ООП это инструмент. Звучит так же странно, как молоток -- математически недоказуемо :) Приведу пример. Вы написали функцию. Вы ее модульно протестировали. Вы доказали что ваша функция правильна. По бизнес-кейсам например. Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты. И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно. Ведь у вас нет на это теста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 13:01 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Вы написали функцию. Вы ее модульно протестировали. Вы доказали что ваша функция правильна. По бизнес-кейсам например. Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты. И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно. Ведь у вас нет на это теста. А то у вас есть введение и заключение, но совершенно не просматривается обоснование, которое как-то выпало из середины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 13:30 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
Мы скатываемся в банальность. Разумеется можете написать тест покрывающий методы. Но это ведь не ООП. Это вы протестировали методы. Вы фактически доказали что ООП работает как процедурное программирование если сильно захотеть. Мой вопрос был в другом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 13:38 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Приведу пример. Вы написали функцию. Вы ее модульно протестировали. Вы доказали что ваша функция правильна. По бизнес-кейсам например. Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты. И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно. Ведь у вас нет на это теста. В этом рассуждении есть проблема. Тест это не доказательство правильной работы функции, если рассуждать с математической точки зрения. Вот я сделал функцию сортировки. Можете показать мне такой тест, который доказывает, что функция 100% работает верно. Во всех случаях. Это какой тест у вас получится такой? Можете показать? На любом языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 13:47 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, А ещё тест должен доказать сложность функции. И доказать заявленные требования по ресурсоёмкости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 13:48 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, На всякий случай, вот вам математическое доказательство https://neerc.ifmo.ru/wiki/index.php?title=Быстрая_сортировка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 13:49 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton, И затем хотелось бы услышать, на что должно быть похоже доказательство ООП, что вообще нужно доказывать? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 13:50 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton Приведу пример. Вы написали функцию. Вы ее модульно протестировали. Вы доказали что ваша функция правильна. По бизнес-кейсам например. Далее вы выполнили декомпозицию предметной области на интерфейсы. Классы. И объекты. И здесь ваша доказательная база очень слаба. Вы не сможете мне доказать что сдалали работу верно. Ведь у вас нет на это теста. В этом рассуждении есть проблема. Тест это не доказательство правильной работы функции, если рассуждать с математической точки зрения. Вот я сделал функцию сортировки. Можете показать мне такой тест, который доказывает, что функция 100% работает верно. Во всех случаях. Это какой тест у вас получится такой? Можете показать? На любом языке. Очень просто друг. Ты подходишь к бизнесу. Показываешь ему входные данные. Например табличка каких то бизнес операций. И эта-же таблица после сортировки. И говоришь - это ОК? Бизнес говорит ОК. Ты делаешь тест. И делаешь код который заходит в зеленый сегмент этого теста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 14:02 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton, И затем хотелось бы услышать, на что должно быть похоже доказательство ООП, что вообще нужно доказывать? ) Я уже несколько дней пишу о том что ООП - это просто набор "лучших практик". А их никто никогда не доказывает. Недоказуемые они. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 14:04 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton hVostt mayton, И затем хотелось бы услышать, на что должно быть похоже доказательство ООП, что вообще нужно доказывать? ) Я уже несколько дней пишу о том что ООП - это просто набор "лучших практик". А их никто никогда не доказывает. Недоказуемые они. Задался вопросом, а что собственно написали авторы "лучших практик". По Вики, Г.Буч поучаствовал в создании RUP и Rational Rose (Rational Software Architect ) Соответственно "лучшесть" практик доказуется чисто статистически - с помощью голосования и соцопроса: 1) у кого из участников данного топика стоит на компьютере Rational Rose / Rational Software Architect 2) кто ими пользуется в повседневной работе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 14:26 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Очень просто друг. Ты подходишь к бизнесу. Показываешь ему входные данные. Например табличка каких то бизнес операций. И эта-же таблица после сортировки. И говоришь - это ОК? Бизнес говорит ОК. Ты делаешь тест. И делаешь код который заходит в зеленый сегмент этого теста. Тест, это проверка работы в определённых рабочих условиях, а также проверка нерабочих условий. У теста три основных задачи. Глубоко недооценённая возможность тестировать при разработке кусочек программы, не запуская весь проект, без необходимости поднимать и настраивать различные интеграции. Вторая, это защищать код от поломок в процессе доработок и рефакторинга. Третья, документирование конкретных кейсов использования. Но бизнесу тесты до фанаря. И ворох входных данных в принципе тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 14:36 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Я уже несколько дней пишу о том что ООП - это просто набор "лучших практик". А их никто никогда не доказывает. Недоказуемые они. ООП это не набор лучших практик. Это конкретный инструмент, доступный во многих языках программирования на уровне синтаксиса и структур. С какой кстати, это стало практиками? Хочешь не хочешь, в ЯП с ООП вы будете использовать это ООП, хотя бы как потребитель. Даже если не будете ничего проектировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 14:38 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt Но бизнесу тесты до фанаря. И ворох входных данных в принципе тоже. Нет. User-stories могут содержать сэмплы входных данных в качестве примера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 15:13 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton hVostt Но бизнесу тесты до фанаря. И ворох входных данных в принципе тоже. Нет. User-stories могут содержать сэмплы входных данных в качестве примера. Это для QA ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 15:39 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton Я уже несколько дней пишу о том что ООП - это просто набор "лучших практик". А их никто никогда не доказывает. Недоказуемые они. ООП это не набор лучших практик. Это конкретный инструмент, доступный во многих языках программирования на уровне синтаксиса и структур. С какой кстати, это стало практиками? Хочешь не хочешь, в ЯП с ООП вы будете использовать это ООП, хотя бы как потребитель. Даже если не будете ничего проектировать. Я могу взять ООП-подобный язык писать в нем как в НЕ-ООП. Лишив объекты состояния и используя только state-less методы. В этом случае я просто не буду следовать практикам. Тоесть сама по себе принадлежность языку семейству ООП-шных вовсе ничего не гарантирует. Так-же как например в С++ можно писать объектно и процедурно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 15:54 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt mayton пропущено... Нет. User-stories могут содержать сэмплы входных данных в качестве примера. Это для QA ) Ты не поверишь каков бывает ентерпрайз. Вообще стори пишутся гуманитарным языком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 15:55 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Я могу взять ООП-подобный язык писать в нем как в НЕ-ООП. Лишив объекты состояния и используя только state-less методы. В этом случае я просто не буду следовать практикам. А я могу и микроскопом гвоздь забить. А некоторые кулаком или даже лбом :) mayton Тоесть сама по себе принадлежность языку семейству ООП-шных вовсе ничего не гарантирует. Гарантирует функционирование ООП. Гарантирует правильную работу всех заявленных в ООП штук: наследование, инкапсуляцию, полиформизм. Даёт абстракцию для структур из коробки. mayton Так-же как например в С++ можно писать объектно и процедурно. Ну это тоже инструменты. Чтобы вы могли писать объектно, вам нужны объекты. Чтобы писать процедурно, вам нужны процедуры (функции). Тогда давайте говорить, что понятия "функция" это лучшие практики )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 16:47 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton hVosttЭто для QA ) Ты не поверишь каков бывает ентерпрайз. Вообще стори пишутся гуманитарным языком. Стори пишутся на языке бизнеса, а кто там представитель бизнеса -- гуманитарий, значит гуманитарным языком. Я поверю, так как работаю в энтерпрайзе большую часть профессиональной карьеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 16:49 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
mayton Я могу взять ООП-подобный язык писать в нем как в НЕ-ООП. Лишив объекты состояния и используя только state-less методы. В этом случае я просто не буду следовать практикам. И мы ведь об этом и говорим в данном топике. Какие есть практики. ООП это не практика. ВЫ можете очень активно плодить классы, инкапсулировать данные и логику в приватных методах и полях, наследовать вдоль и поперёк. И это вообще ни разу, ни в одном месте не показатель хорошего, качественного и более того -- правильного и рабочего кода. Практики существуют над инстурментом. Если не правильно пользоваться молотком, можно лишиться парочку пальцев. Молоток это не практика! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 16:53 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt А я могу и микроскопом гвоздь забить. А некоторые кулаком или даже лбом :) Хвост но давай вспоминать какие языки вообще обязывают тебя следовать ООП всегда. Мне почему-то на ум приходит SmallTalk (который я не знаю) но по слухам он был ТруЪ-ООП-шным. Где даже 1+1 нельзя было сделать без вовлечения объекта целое число. Все остальные языки реализуют саму ООП-шность по разному и она - не мандаторная. Хуже всего - в С++. Там больше упор на шаблонизацию чем на объектность. И схалтурить и шмальнуть себе в ногу там больше шансов чем везде. Вот я стартую прототип приложения на ООП языке Java (я так часто делаю когда что-то проверить надо). Код: java 1. 2. 3. 4. 5. Я пишу блин процедурно. У меня тут от ООП вообще нет ничего!! У меня ООП появится только когда я этого захочу. Ты согласен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 16:59 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt Гарантирует функционирование ООП. Гарантирует правильную работу всех заявленных в ООП штук: наследование, инкапсуляцию, полиформизм. Даёт абстракцию для структур из коробки. Ну смотри. Если программист берет Хаскель (чисто ФП. Породистый. Правильный. Без побочки). То он нифига не может создать изменяемую переменную. Его язык ограничил! Он говорит - ты сцуко ДОЛЖЕН сделать код без состояния. Если я безу C# или Java то я могу делать ООП а могу и не делать. Опция у меня. Понимаешь. ООП - опционально! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 17:07 |
|
||
|
Подходы к построению архитектуры в функциональном программировании
|
|||
|---|---|---|---|
|
#18+
hVostt Ну это тоже инструменты. Чтобы вы могли писать объектно, вам нужны объекты. Чтобы писать процедурно, вам нужны процедуры (функции). Не обязательно ! Примеры: JPEG Independent Group - библиотека для работы с JPEG'ом COM - Common Object Model в Windows FireFox насколько я помню, (могу местами ошибаться), все с объектами (ООП !) и все на _чистом__ C. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2020, 17:11 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39922391&tid=1339831]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 272ms |

| 0 / 0 |
