Size: a a a

2020 May 15

NL

Nick Linker in rust_offtopic
polunin.ai
я чет немного не вкуриваю, кто знает как на таком графике вычислить амплитуду? когда в одну сторону амплитуда больше чем в другую, как ее находить?
(max - min) / 2
источник

JC

Julian =) Coffee in rust_offtopic
Nick Linker
Ну и получается, что добавление нового кейса к твоему АДТ вызовет кучу ошибок (что замечательно, но тем не менее нарушает O)
Ну так не ошибки, но программа то не упадет
источник

p

polunin.ai in rust_offtopic
Nick Linker
(max - min) / 2
спасибо
источник

JC

Julian =) Coffee in rust_offtopic
Как программа, которой нет может упасть?
Мне кажется это девиз языков с статической типизацей)0)
источник

VS

Victor Sapiens in rust_offtopic
Nick Linker
Ну и получается, что добавление нового кейса к твоему АДТ вызовет кучу ошибок (что замечательно, но тем не менее нарушает O)
Не знаю пользовался ли ты такой библиотекой для логгирования - Serilog. Вот там O и SOLID во все поля. И так и сяк можно воротить ее ничего не меняя.
источник

VS

Victor Sapiens in rust_offtopic
Без изменения ее кода.
источник

VS

Victor Sapiens in rust_offtopic
O оно конечно больше для библиотек и сильно с IOC связано
источник

NL

Nick Linker in rust_offtopic
Julian =) Coffee
Ну так не ошибки, но программа то не упадет
Так получается, что добавление кейса к АДТ вызовет множество модификаций по обработке этого кейса во всех местах с паттер-матчингом.

А дядька Мартин хочет, чтобы ты сбоку нарисовал какую-то плюху, и у тебя автоматически завёлся новый кейс.
Так вот я утверждаю, что дядя Мартин недооценил значение паттерн матчинга, и модифицировать существующую систему ничуть не больнее, если это безопасно.
источник

NL

Nick Linker in rust_offtopic
Victor Sapiens
Не знаю пользовался ли ты такой библиотекой для логгирования - Serilog. Вот там O и SOLID во все поля. И так и сяк можно воротить ее ничего не меняя.
Не, не видел. Там что-то на xml надо дописать и джарку задеплоить, да? 😊
источник

VS

Victor Sapiens in rust_offtopic
Nick Linker
Не, не видел. Там что-то на xml надо дописать и джарку задеплоить, да? 😊
Неё 😁😁
источник

JC

Julian =) Coffee in rust_offtopic
Nick Linker
Так получается, что добавление кейса к АДТ вызовет множество модификаций по обработке этого кейса во всех местах с паттер-матчингом.

А дядька Мартин хочет, чтобы ты сбоку нарисовал какую-то плюху, и у тебя автоматически завёлся новый кейс.
Так вот я утверждаю, что дядя Мартин недооценил значение паттерн матчинга, и модифицировать существующую систему ничуть не больнее, если это безопасно.
Просто мне кажется, что фикс одной функции, которая к тому же еще и инкапсулирована странно считать "модификацией системы"
источник

VS

Victor Sapiens in rust_offtopic
Nick Linker
Не, не видел. Там что-то на xml надо дописать и джарку задеплоить, да? 😊
Там например можно .Console(new SimpleJsonFormatter()) сделать и вуаля - библиотека будет писать в консоль с этим форматттером (JSON просто будет в консоль писать да.)
источник

JC

Julian =) Coffee in rust_offtopic
То есть возможно много где придется пофиксить код, но сама система останется без изменений отношений между обьектами.
источник

VS

Victor Sapiens in rust_offtopic
Open Closed он ведь про то чтобы поведение объекта (тут это Logger) можно было с наружи гибко настраивать не имея доступ к его коду.
источник

JC

Julian =) Coffee in rust_offtopic
да? ну пожалуй
источник

VS

Victor Sapiens in rust_offtopic
Да в целом большая часть asp net core соблюдает SOLID во все поля.
источник

NL

Nick Linker in rust_offtopic
Julian =) Coffee
Просто мне кажется, что фикс одной функции, которая к тому же еще и инкапсулирована странно считать "модификацией системы"
Я согласен! Я даже готов признать, что некоторые O гораздо разрушительнее таких, аккуратных безопасных модификаций.
источник

G

Gymmasssorla in rust_offtopic
Julian =) Coffee
Так маттерн матчинг как раз про O
в одном направлении
источник

DS

Doge Shibu in rust_offtopic
Nick Linker
Так получается, что добавление кейса к АДТ вызовет множество модификаций по обработке этого кейса во всех местах с паттер-матчингом.

А дядька Мартин хочет, чтобы ты сбоку нарисовал какую-то плюху, и у тебя автоматически завёлся новый кейс.
Так вот я утверждаю, что дядя Мартин недооценил значение паттерн матчинга, и модифицировать существующую систему ничуть не больнее, если это безопасно.
Поэтому нужно и не АТД, и не ООП интерфейсы, а final tagless стиль, который решает одновременно обе проблемы.
источник

G

Gymmasssorla in rust_offtopic
Nick Linker
Значение O ныне переоценено, незачем уродовать систему ради этого. В частности, паттерн матчинг отлично показывает, что можно жить и без O.
Что такое L применительно к Расту я с трудом представляю.
И кто вообще видел DI контейнеры для Раста? 😃
В Object C# и Java проебали Interface Segregation Principle ))
источник