Size: a a a

Software Design/Architecture/Zen

2020 November 22

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
atcq (Алексей)
вопрос: а есть ли какой-то измеряемый/доказуемый профит у всего этого упарывания по функциональщине?
Стоимость поддержки
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
Евгений Ромашкан
Стоимость поддержки
ну те. можно смело нанимать функциональщика и он один будет поддерживать проект за двоих, троих?
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
atcq (Алексей)
вопрос: а есть ли какой-то измеряемый/доказуемый профит у всего этого упарывания по функциональщине?
ну это как ООП +-, различие лишь в том что ты определяешь контексты/классы динамически
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
atcq (Алексей)
ну те. можно смело нанимать функциональщика и он один будет поддерживать проект за двоих, троих?
Я такого не говорил
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Фп вообще не понятно что, также как и ооп
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
ну т.е. если в ООП я думаю заранее какой интерфейс мне нужен и это делает абстракции заранее более стабильными, то с фп подходом я такой: так, для этого модуля order будет из 3 методов, а для вот этого order из 2 совершенно других методов.
И решение о том будет ли эти два order одним классом принимается после написания реализации, а не до.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
это почти как с tdd, есть какое-то неуловимое сходство
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
Nikita Fedorov
ну т.е. если в ООП я думаю заранее какой интерфейс мне нужен и это делает абстракции заранее более стабильными, то с фп подходом я такой: так, для этого модуля order будет из 3 методов, а для вот этого order из 2 совершенно других методов.
И решение о том будет ли эти два order одним классом принимается после написания реализации, а не до.
я спрашивал не совсем это, но почитать было интересно, спасибо
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
хотя и в ооп коде interface segregation практически 1 в 1 совпадает с твоим описанием, те. сущность в итоге может быть почти любой, лишь бы удовлетворяла нужному в конкретном месте интерфейсу
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
atcq (Алексей)
я спрашивал не совсем это, но почитать было интересно, спасибо
ну прям про профит это то что интерфейсы изначально намного меньше, а значит поддерживать проще, не может так случиться что код делает слишком много, но может случиться что он делает слишком мало
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
к той самой золотой середине solid код подходит с разных сторон
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Хз по моему в этом как раз нет отличия фич ооп от фич фп
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Yury Golikov
Хз по моему в этом как раз нет отличия фич ооп от фич фп
Если ооп грамотно применять то да, если как все то уже не так очевидно
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Ну вот вики выделяет 4 концепции ФП:

Функции высших порядков
Чистые функции
Рекурсия
Подход к вычислению аргументов
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Чтобы написать хороший ооп код нужно либо заранее хорошо подумать, либо после реализации хорошо порефакторить сделав interface segregation с наиболее стабильными абстракциями.
С фп получается что изначально ты пишешь с каким то next level interface segregation, а потом решаешь какие интерфейсы образуют стабильную абстракцию более верхнего уровня.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
вот так наверное более точно, по моим ощущениям от процесса
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Nikita Fedorov
Чтобы написать хороший ооп код нужно либо заранее хорошо подумать, либо после реализации хорошо порефакторить сделав interface segregation с наиболее стабильными абстракциями.
С фп получается что изначально ты пишешь с каким то next level interface segregation, а потом решаешь какие интерфейсы образуют стабильную абстракцию более верхнего уровня.
Те с ооп ты сначала закидывал все зависимости в импорт? А потом уже решал нужно что-то или нет?

У меня скорее больше итеративный процесс нахождения более точных границ модулей
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Yury Golikov
Ну вот вики выделяет 4 концепции ФП:

Функции высших порядков
Чистые функции
Рекурсия
Подход к вычислению аргументов
А потом читаем про functional core imperative shell
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Это и с ооп хорошо работает в общем то
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Sergey Protko
А потом читаем про functional core imperative shell
Ну я на джаве примерное так и пишу)
источник