TGViewer
C# Short Posts 🔞 C# Short Posts 🔞 @dimasshortposts · 309 subscribers
Post #54 61
О спорах про технологии.
🇨🇳 Какой язык программирования самый лучший? Я вот думаю, что китайский. Ладно, это шутка-минутка. Не могу без них, простите.

Кажется, что все понимают холиварность этого вопроса, итогом которого будет ответ "дело вкуса". Но почему-то, когда вопрос касается библиотек, то тут уже не так очевидно.

Я вот недавно узнал, что мой любимый MediatR некоторые люди считают говном! (Кстати, он скоро станет частью BCL, с чем я его и поздравляю! Точнее старину Джимми Боггарта) Мол, он усложняет чтение кода, а нормального CQRS не дает.

🤬 Сначала хотелось возразить, что это все жуткая неправда, и вы все не понимаете! Вот же есть классные репозитории, у которых не зря в названии стоит CleanArchitecture и там используется MediatR! https://github.com/jasontaylordev/CleanArchitecture

Ну я собственно и возразил! Потому что, йопт, я человек или где?!

Мне в ответ кинули этой статьей https://cezarypiatek.github.io/post/why-i-dont-use-mediatr-for-cqrs/

Разумеется я поступил с материалом, как и положено порядочному оппоненту в споре – положил на нее С ПРИБОРОМ и написал в чат, что ОБЯЗАТЕЛЬНО ознакомлюсь.

🤔 Но все же я задумался. А ведь и правда, человеку стороннему, все эти хэндлеры с запросами и прочими бихейвиорами покажутся прям дремучим лесом. В тысячу раз понятнее как прочитать вот это

var result = await _smsService.Send(message, ct)

чем вот это

var result = await _mediatr.Send(message, ct);
 
Конечно, уверенный пользователь медиатра не напишет такого кода. Но у нас есть новички, которые могут всякое. Могут и не так понять, как использовать. Это как в трудностях перевода – по формке все правильно, а по факту нет.

Вот тут меня и осенило. Это сейчас будет не новая мысль, но все же. Библиотеки – это расширения для языка. А значит, люди, пользующиеся разными библиотеками, по сути говорят немного на разных языках.
 
Ну точнее не совсем на разных языках, но на разных диалектах. Поэтому код, понятный одному, написанный по всем принципам SOLID может быть непонятен другому. И это вполне нормально! А значит польза или бесполезность библиотек – это дело вкуса, как и в случае с языками программирования.
 
Я вот не люблю AutoMapper (кстати, тоже въехал в BCL). Мне кажется, что в нем есть смысл только тогда, когда названия свойств в моделях одинаковые. Если же есть хоть одно отличие, то вот эти все правила маппинга, которые ты потом еще и хрен найдешь, усложняют модификацию кода. Охренеть причем как!
 
Но при этом я видел людей, которые легко находили эти правила, и придумывали понятные DSL'ки для поиска. То есть для них понятные, для остальных это все еще был пиздец.

🅰️ Подытоживая: Выскажу такую мысль. Нет плохих библиотек, есть плохие люди есть дело вкуса и опыт. Если человеку что-то понравилось, то он найдет, как это улучшить, и возможно научит вас, как это использовать так, чтобы было приятно.

Вместо тотального отрицания, лучше постараться понять, почему что-то удобно для человека, и почему может быть неудобно для вас. Нужно порефлексировать вместе, прикинуть, какие потребности вы хотите закрыть и сделать нужный выбор. Так в коллективе сложится продуктивная среда с положительным отбором технологий, а не токсичное ебаное болото, где все разрабатывают на говеной Java с библиотеками тысячелетней давности!
GitHub GitHub - jasontaylordev/CleanArchitecture: Clean Architecture Solution Template for ASP.NET Core Clean Architecture Solution Template for ASP.NET Core - jasontaylordev/CleanArchitecture
  • 👍 3
More from @dimasshortposts
  1. Oct 2, 2026s
  2. Oct 2, 2026Post #503
  3. Sep 30, 2026🛤 Путь до Tier1: от чего он зависит В прошлый раз мы гоняли hello world в цикле и увидели…
  4. Sep 26, 2026🧵 Тредик для вопросов по докладу про MAF на дотнексте В докладе многие подробности опусти…
  5. Sep 23, 2026Даже самым хардкорным ребятам надо отдыхать, так что отдыхаем, мои чюваки 🕺 🧑‍💻dp🥁 #he…
  6. Sep 16, 2026🎯 Instrumented Tier0: профилирование кода В прошлый раз мы разобрали два уровня компиляци…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →