Size: a a a

2020 December 22

A

Anton in pro.net
Andrei Kurosh
Вот кстати есть перспективная штука на рослин-генераторах, которая решает обе проблемы:

https://github.com/cezarypiatek/MappingGenerator
Прикольно, спасибо
источник

LY

Lev Yas in pro.net
Andrei Kurosh
У него два режима: неявный (ломается при переименованиях) и явный (требует бойлерплейта столько же, сколько и ручное присваивание)
о ну да, у меня те же основания)) Намучился титанически с явным режимом, просто конструктор с параметрами был бы проще и надёжнее.
источник

LY

Lev Yas in pro.net
а намучился, когда они при обновлении версии поломали весь АПИ, а солюшен был на пару сотен проектов, и везде этот говномаппер был. Там ещё и солюшен говно был, всё от всего зависело, в итоге частично обновлять автомаппер вообще не представлялось возможным
источник

DP

Denis Petukhov in pro.net
Lev Yas
а намучился, когда они при обновлении версии поломали весь АПИ, а солюшен был на пару сотен проектов, и везде этот говномаппер был. Там ещё и солюшен говно был, всё от всего зависело, в итоге частично обновлять автомаппер вообще не представлялось возможным
Надо было абстрагироваться от конкретной реализации маппера
источник

LY

Lev Yas in pro.net
Andrei Kurosh
Вот кстати есть перспективная штука на рослин-генераторах, которая решает обе проблемы:

https://github.com/cezarypiatek/MappingGenerator
ОГОНЬ
источник

LY

Lev Yas in pro.net
Denis Petukhov
Надо было абстрагироваться от конкретной реализации маппера
там dllhell возникал
источник

LY

Lev Yas in pro.net
Denis Petukhov
Надо было абстрагироваться от конкретной реализации маппера
в итоге когда я оттуда уволился, проблема ещё была. Решать её начинали разбиванием мега-монолита на куски.
источник

AB

Alex Bespalov in pro.net
Лучше вообще асбтрагироваться, родить что нибудь типа MapperService.Map<TFrom, TTo>(TFrom source) и IMapper<TFrom, TTo> и на реализации интерфейса наделать маппингов, а в сервисе логику выбора маппинга с кешированием. Automapper на любом большом проекте сколько видел всегда приводит к тому, что рефакторить больно, трудно, хер пойми где выстрелит; async нельзя, а регулярно надо хоть как костыль, хоть как быструю фичу(ну вот есть у меня feature toggle сервис, он async методы имеет, в маппер не могу); мнимое ощущение экономии времени на том, что маппинг не руками как обезъяна писал, а как член high iq society вызывал Mapper.Map. Оно может и про неправильное использование маппера, но реальность вот такая вот.
источник

DP

Denis Petukhov in pro.net
Вообще я пошутил
источник

AB

Alex Bespalov in pro.net
Да я мимокрокодил
источник

D

Denisio in pro.net
нужна байтоёбная помощь :)
источник

D

Denisio in pro.net
источник

D

Denisio in pro.net
не оч понятно во что это разворачивается при jit
источник

D

Denisio in pro.net
sharplab показывает что и для int вызывается System.Int32.CompareTo
источник

С

Сергей in pro.net
Denisio
не оч понятно во что это разворачивается при jit
пушит 1 аргумент на стек и 2 сует в регистры и вызывает твой дженерик, который не джитится
источник

D

Denisio in pro.net
да по коду то понятно, просто вдруг какие более пиздатые штуки происходят
источник

E

EgorBo in pro.net
Denisio
да по коду то понятно, просто вдруг какие более пиздатые штуки происходят
источник

E

EgorBo in pro.net
1) юзай агрессив инлайн для генериков если понятно что должно инлайнится 2) юзай генерик ICompareable<>
источник

D

Denisio in pro.net
аа. вон чо.
источник

D

Denisio in pro.net
понял ща проверю
источник