Все самое полезное для C#-разработчика в одном канале.
Наши курсы: https://clc.to/y3LDtw
По рекламе: @tproger_sales_bot
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Post #6244
3.76K

👨💻 Как писать меньше кода
Каждая лишняя строка кода — это деньги.
Больше кода → больше багов → больше инцидентов → больше часов инженеров.
Pattern Matching: меньше проверок, меньше каста
Используем property pattern: проверка + извлечение объекта в одну строку.
Компактные решения вместо длинных switch
Переписываем switch на expression switch:
Композиция правил: читаем как таблицу
Современные паттерны позволяют описывать правила декларативно.
Пример проверки транзакции:
Это не синтаксический сахар, а инструмент управления сложностью.
🐸Библиотека шарписта
#буст
Каждая лишняя строка кода — это деньги.
Больше кода → больше багов → больше инцидентов → больше часов инженеров.
Pattern matching и switch expressions помогают уменьшить кодовую базу, ускорить ревью и снизить стоимость поддержки.Pattern Matching: меньше проверок, меньше каста
Используем property pattern: проверка + извлечение объекта в одну строку.
if (customer is { IsActive: true, Orders.Count: > 0 })
{
Process(customer);
}Компактные решения вместо длинных switch
Переписываем switch на expression switch:
var message = status switch
{
Status.Active => "Active",
Status.Inactive => "Inactive",
Status.Suspended => "Contact support",
_ => "Unknown"
};
Композиция правил: читаем как таблицу
Современные паттерны позволяют описывать правила декларативно.
Пример проверки транзакции:
var decision = (txn.Amount, user.Role, txn.Country) switch
{
(> 10_000, "Guest", not "US") => "Flag",
(<= 10_000, "Admin", _) => "Approve",
_ => "Review"
};
Это не синтаксический сахар, а инструмент управления сложностью.
🐸Библиотека шарписта
#буст
- 👍 22
- 🔥 4
- ❤ 3














