28 Oct 2022, 11:06 UTC≈26,800 views436 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет! 👻
Понятие "качественный код" очень многогранно. Одна из таких граней — отражение намерения. Другой разработчик, который анализирует ваш код, должен улавливать ваше намерение.
Более-менее опытный разработчик без проблем использует ключевые слова (const, readonly, init и пр.) для указания своих намерений в отношении переменных класса. Но вот с коллекциями это часто не так, а ведь он…
👍379❤33🔥11👏4⚡3🐳3❤🔥2🤯1
5 Oct 2022, 07:02 UTC≈20,800 views249 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Рефакторить код и визуально уменьшать синтаксические конструкции C# с помощью ReSharper может быть весело. Я очень люблю это делать!
Однако, некоторые рефакторинги, вместе с визуальной красотой, могут нести проблемы. Если проводить рефакторинг на поводу подсказок ReSharper, можно круто снизить производительность вашего приложения и потом часами искать причины.
Одним из таких рефа…
👍210🔥20❤12🤔3⚡2🐳1👏1
14 Sept 2022, 08:00 UTC≈16,400 views274 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Мне нравится использовать подход Code First. Особенно удобно использовать этот подход при реализации небольших микросервисов с несложной бизнес-логикой.
Одна из проблем, которую мне нередко приходится наблюдать при проведении code review — отсутствие ограничений на строковые значения. Если не указать ограничение строки явно, то все string будут интерпретированы Entity Framework Co…
👍238❤26🔥5⚡2🤔2💯1
7 Sept 2022, 08:00 UTC≈14,200 views233 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Нельзя сказать, что генерация исключений в C# выглядит изящно. Чаще всего это громоздкие конструкции, которые выражают несложную логику, но делают это максимально неуклюже. Естественно, это мешает спокойному восприятию кода в целом.
Возможно, когда-нибудь, это поправят в старших версиях C#. Но что мы можем с этим сделать прямо сегодня и сейчас?
Существует классная библиотека, кот…
👍190🔥20❤12🤔4🤩4⚡2😁1
31 Aug 2022, 08:00 UTC≈11,200 views241 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Комментирование исходного кода — это здорово! Открыл исходник и вот он комментарий. Но как прокомментировать SQL-запрос, отправляемый к базе данных, когда мы используем Entity Framework?
Запросы к базе данных могут анализироваться не только разработчиком приложения, но и администратором базы данных. Хотелось бы показать всем разработчикам цель того или иного SQL-запроса без длител…
👍213🔥15❤11⚡1❤🔥1
24 Aug 2022, 08:01 UTC≈10,700 views215 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Большинство web-сервисов предоставляют возможности для интеграции через REST API. За примерами далеко ходить не надо: Google, GitHub, YouTube, Facebook и много-много других — все предоставляют возможность взаимодействия через некоторое API.
Читая документацию на API, вы можете столкнуться с требованием к частоте запросов. Например, максимальная частота запросов не должна превышать…
👍188🔥14❤12🥰1
17 Aug 2022, 08:00 UTC≈8,920 views169 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Мы постоянно пользуемся конфигурационными файлами в наших приложениях. В конфигах мы храним строку соединения с базой данных, токены, логины и прочее. Бывает так, что конфигурация содержит в себе два и более логически связанных параметра. Например, такое может произойти, когда нам нужно иметь возможность задать значения для логина и пароля от какого-нибудь API.
В таких случаях, в …
👍145🔥13❤9👏2
11 Aug 2022, 08:00 UTC≈9,000 views176 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Entity Framework Core — суперпопулярное решение для работы с базами данных в ASP.NET. При исполнении запросов к базе данных, нередко появляются самые разные ошибки ("Timeout expired", "Transaction was deadlocked" и пр.). Обычным решением в борьбе с такими ошибками, является применение политики повторов. Проще говоря, делается повторная попытка выполнения SQL-запроса через некоторый…
👍152❤15👏5🔥4
3 Aug 2022, 08:00 UTC≈8,790 views182 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Бывает так, что нужно прекратить ожидание ранее запущенной задачи (Task) через некоторый промежуток времени, так как её выполнение уже никого не интересует. Разумеется, этот вопрос можно решить через CancellationToken, но .NET6 подарил нам новый API, который поможет сделать это проще.
Класс Task предоставляет метод WaitAsync(), где мы можем передать время, через которое выполнение…
👍153🔥16❤9❤🔥4
27 Jul 2022, 08:02 UTC≈8,650 views106 reactionsread 12 August 2026 Всем привет! 👻
Сегодня я хочу рассказать вам о том, как управлять конфигурационными данными приложения ASP.NET в development среде. Хранение секретных данных (логины, пароли, токены и пр.) никогда не должны попасть в общедоступный репозиторий. В ASP.NET существует удобный механизм, который решает эту задачу просто и понятно — User Secrets. Поэтому наливайте чайку и давайте посекретничаем 🫖🍪
Приятного просмотра! 💙
…
🔥57👍41❤8
21 Jul 2022, 08:00 UTC≈7,520 views237 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Вам когда-нибудь приходилось делать поиск по строковому ключу в Dictionary? Главная проблема со строковыми ключами — непредсказуемость регистра (Premium, PREMIUM, PrEmIuM).
Можно придумать разные "велосипеды", которые помогут обойти эту проблему (например, везде делать String.ToLower()). Но зачем что-то делать, если можно этого не делать?
Существует классный способ решения вопрос…
👍221🔥9❤7
14 Jul 2022, 08:00 UTC≈7,450 views201 reactionsread 12 August 2026 Photo
#капитану_на_заметку
Всем привет!
Меня всегда восхищает красота и элегантность кода, который создают высококвалифицированные разработчики. Анализируя разные репозитории на GitHub, я всегда стараюсь примечать интересные конструкции и неожиданные решения.
Один из методов, который позволяет упростить сложные синтаксические конструкции в C# называется Pattern matching. Pattern matching предоставляет более краткий синт…
👍173🔥17❤8👏3
Showing the 12 most recent of 20 posts we hold for @codaza. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.