Сравнения Rust и C#, Minimal API и Controllers, Problem и Details

  Рет қаралды 2,015

DotNetRu

DotNetRu

Күн бұрын

Пікірлер: 20
@PForeverSAH
@PForeverSAH 2 ай бұрын
на самом деле накину немного плюсов формата минимал апи по собственному опыту: 1. Для минипроектов/педпроджектов. Когда код меняется очень быстро, очень удобно когда всё перед глазами, непереключаясь между файлами просто накидываешь логику как в старой доброй консольки 2. Шаринг контекста. Неочевидный но существенный плюс в том же сценарии. Поскольку в минимал апи всё есть лямбда, можно объявить переменные/лямбды в верху файла и просто шарить их через замыкание между всеми методами. Опять же в условиях пары часов после работы выделяемых на пед проджект это может стать существенным, когда ты хочешь делать фичи, а не писать обвязки) 3. Chat GPT :D. Иногда, имея идею в голове, но лень в сердце, просто запрашиваю копайлот сгенерировать некоторую апиху, прося его делать минимал апи, получаю готовое решение, которое потом дорабатываю в редакторе: раз, два, поехали, очень удобно 4. Наглядность. Ну не только мини проектами едины будем. Большой проект тоже имеет право жить в минимал апи при условии, что в конролерах нету логики. Как результат, у вас единая страница, на которой вы видите все эндпоинты вашего приложения. Единая точка входа лично мне кажется прекрасным решением для входа в приложения для новых программистов на проекте. Причём вы видите не только всю карту эндпоинтов, а также все особенности приложения: авторизацию, специфические мидлваре - и сразу представляете себе сложность именно его асп нетной части. Более того, такой подход пушит вас держать контроллеры в чистоте (кому нравится писать лямбды с фигурными скобочками? :D)
@tt0nix
@tt0nix 2 ай бұрын
Хороший, свежий взгляд, спасибо. Действительно есть ситуации когда краткость и наглядность может перевесить остальное.
@MaksimVolkau
@MaksimVolkau 2 ай бұрын
Вы часто говорите о нормальном коде, имея в виду энтерпрайз. Хотел обратить внимание, что код написанный в библиотеках, которые использует энтерпрайз вполне себе нормальный :). И как раз использует эти ref return и так далее, что бы энт. меньше волновался о перформансе. Одно без другого не работает.
@tt0nix
@tt0nix 2 ай бұрын
Да, безусловно. Под «нормальным» я чаще всего имею ввиду «повседневный», тот с которым большинство разработчиков сталкиваются каждый день. Обычно это не библиотеки, а именно энтерпрайз приложения. Кстати, если у вас есть примеры, где в популярных (не MS) библиотеках авторы используют эти конструкции, пришлите. Ибо, заглядывая внутрь библиотек, тоже довольно редко встретишь ref'ы.
@anatolykukanov3983
@anatolykukanov3983 2 ай бұрын
Либки это вообще свой отдельный мир :), то что применимо для enterprise (code practice) как правило не применимо в либках
@MaksimVolkau
@MaksimVolkau 2 ай бұрын
@anatolykukanov3983 Но язык то один. Поэтому выбросить одно или другое из него - не вариант. Даже если мне конкретно эти фичи не нужны, то моей либе нужны.
@tt0nix
@tt0nix 2 ай бұрын
@@MaksimVolkau Я согласен, что выбрасывать низкоуровневые конструкции нельзя. На них весь ASP держится, как минимум, а его уже использует большенство разработчиков. Просто хочется побольше улучшений не только в группе низкоуровневых операторов, но и в общеиспользуемом C#.
@bananasba
@bananasba 2 ай бұрын
Если бы, авторы библиотек без проблем ломают апи, этот атрибут новый им не поможет.
@tt0nix
@tt0nix 2 ай бұрын
Зависит всё от авторов, конечно. Я давно избавился в своей работе от таких библиотек, поэтому пользуюсь плодами только адекватных разработчиков. Ну и надо начинать с себя. Самим обязательно следить за теми продуктами, которые выпускаем. Совместимость важна даже внутри одной компании.
@MirrorBoySkr
@MirrorBoySkr Ай бұрын
Йованович в большинстве видео дело говорит. Зря вы его так :)
@tt0nix
@tt0nix Ай бұрын
Вы правы, поэтому мы про него и рассказываем (это не первая тема от него). Это действительно один из самых достойных ютуберов, который неплохо балансирует между технической глубиной и популизмом. В общем, мы любя :)
@VoroninPavel
@VoroninPavel 2 ай бұрын
Single, увы, не рассказывает, какой элемент (с каким ключом) задублировался =(
@tt0nix
@tt0nix 2 ай бұрын
Да, это одно из безумных сообщений во фреймворке. Таких много. Почему, например, не сказать обращение к какой переменной вызвало NRE. Постепенно ситуация выпрямляется, но ещё есть куда работать. Конечно это всё из-за технических сложностей, но потребителей (нас) это не должно волновать. Нам нам нужны понятные исключения.
@bananasba
@bananasba 2 ай бұрын
Хех, учитывать рекомендации МС в своем собственном выборе между контроллерами и мин апи?)
@tt0nix
@tt0nix 2 ай бұрын
Сейчас оба направления находятся на таком уровне, что разницы нет никакой. Как выяснили в подкасте: AOT и синтаксис - вот единственные критерии.
@СерёгаСокольский
@СерёгаСокольский 2 ай бұрын
какая-то не ясная трансформация шарпа. То под раст косит, то под го, то под джаву. Такое ощущение, что майки уже не знают, чем конкурировать
@tt0nix
@tt0nix 2 ай бұрын
Кажется, что они чётко придерживаются концепции конкуренции со всеми. Ибо, как язык, шарп давно всех победил (кроме функциональщиков, но и на них он засматривается давно). Если с этим смириться, то развивать его больше некуда. Что мы и видим на последних анонсах: в языке нет больших изменений. Поэтому надо искать новых врагов. Этот путь делает язык сложнее, но позволяет захватить новые ниши.
@СерёгаСокольский
@СерёгаСокольский 2 ай бұрын
@tt0nix лол! Шарп никого так до сих пор и не победил. Энтерпрайзом правит джава, а микросервисами го
@Александр-ф9в4ю
@Александр-ф9в4ю 2 ай бұрын
Что вы хотели от ЯП который по своей сути вторичен с рождения? У Майкрософт слишком много вторичных технологий, С#, Typescript...
@tt0nix
@tt0nix 2 ай бұрын
@@Александр-ф9в4ю Откуда такие глубокие выводы?
EventSource в HTTP, AOT в Яндексе, Locking в EF
1:53:31
Ozoda - Alamlar (Official Video 2023)
6:22
Ozoda Official
Рет қаралды 10 МЛН
Hilarious FAKE TONGUE Prank by WEDNESDAY😏🖤
0:39
La La Life Shorts
Рет қаралды 44 МЛН
Рождение и жизнь звезд / Что я знаю
1:07:17
ПостНаука
Рет қаралды 145 М.