Библиотека шарписта | C#, F#, .NET, ASP.NET
23K subscribers
2.22K photos
32 videos
85 files
4.37K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
👩‍💻 Четыре фичи Visual Studio, о которых вы могли не знать:

☑️ HTTP files
☑️ Endpoints Explorer
☑️ Dev Tunnels
☑️ Paste Json as Classes

#dotnet #tools #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
34👍18
💡C#-разработчики, знаете ли вы, что при регистрации исключений можно удалить полные пути к файлам? Выше представлено два рабочих кейса.

#csharp #dotnet #tip by Karen Payne
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥6
📊🛠️ Просмотр цикломатической сложности (Cyclomatic complexity) в Visual Studio

Цикломатическая сложность — это программная метрика, предназначенная для количественной оценки сложности программы путем измерения количества независимых путей через ее исходный код.

Данную метрику особенно полезно анализировать при работе с легаси, или когда сталкиваешься с новой кодовой базой и надо быстро понять, с чем имеешь дело 🤯

#dotnet #tools #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2😢1
🛠️ Как установить тип столбца Sparse в Entity Framework

Sparse столбцы SQL Server — это обычные столбцы, оптимизированные для хранения NULL-значений. Их использование может сэкономить много места.

#dotnet #tip by Dave Callan
👍24
Старые наброски проектирования кроссплатформенного ASP.NET 5, до .NET Core: вспоминает David Fowler

#dotnet
👍16🤔5🥱3
🛠️ Пример параметризованного теста xUnit

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

Это означает меньшее количество тестовых методов (что упрощает изменение логики тестов) и возможность быстро увидеть все входные данные и ожидаемые результаты для конкретного метода вместе.

В примере используется атрибут [ClassData], который загружает тестовые данные из отдельного класса, реализующего IEnumerable<object[]>.

#dotnet #csharp #tip by Dave Callan
🥱14👍84🔥4
🛠️ Пример модульного теста C# с использованием паттерна Builder

💬 Кто использует паттерн Builder для настройки тестовых данных? В каких ситуациях оправданы дополнительные накладные расходы на обслуживание?

#dotnet #csharp #tip by Dave Callan
🥰19👍6🤩3🥱3🤔1
💡Модификатор доступа к файлу в C#

Он был представлен в C# 11. Видимость созданного типа ограничена исходным файлом, в котором он объявлен.

Эта фича помогает избегать конфликтов имен при написании генераторов исходного кода.

💬 Как думаете, в каких кейсах его еще можно применить?

#dotnet #csharp #tip by Oleg Kyrylchuk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35😁5
🔼 Spread element в C# 12: простой пример

Идея похожа на ... ( три точки) в JavaScript и используется для объединения коллекций.

💬 Уже пользовались?

#dotnet #csharp #tip by Dave Callan
🔥38👍12🌚5😢1🎉1
👩‍💻 «Шарьте» значения между окружениями с помощью http-файлов в Visual Studio

Начиная с версии 17.12 Preview 2, больше не нужно явно повторять значения, которые используются в разных окружениях.

#dotnet #csharp #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉12👍53🥰1