TGViewer
Четыре плюса Четыре плюса @csharpcommon · 254 subscribers
Post #147 573

Forwarded from Лаборатория Математики и Программирования Сергея Бобровского

Как NET-разработчик заваривает кофе.

Входные данные
: C# программист не может просто налить кипяток. Нужен ICoffeeService, иначе это "антипаттерн".

DI Container: всё должно быть интерфейсами:
- ICoffeeService (но реализация OutOfMemoryCoffeeService)
- ISugar (опционально, как Nullable<Sugar>)
- IBoilingWater (но только если лицензия Azure позволяет)

Middleware/AOP:прежде чем выдать кофе:
- обязательно залогировать (ILogger<Coffee>)
- замерить время (Stopwatch + метрики в Prometheus)
- добавить RetryPolicy (потому что WaterAPI тормозит)

Exception Handler: если кофемашина сломалась:
- вернуть 503 Service Unavailable
- или CoffeeMachineException (с подсказкой "Обновите NuGet-пакет")

Внешний сервис: обязательно:
- HttpClient с таймаутом в 1 секунду (но ждём 10)
- Polly с 5 попытками (хотя после 3-ей уже пора писать в саппорт)
- обязательно ConfigureAwait(false), иначе deadlock

Выходной результат: кофе со StackTrace:
- "NullReferenceException: Sugar was not injected"
- "AzureTimeoutException: WaterAPI не ответил за 365 дней"


...из обсуждений в рабочем чате:
"Почему кофе холодный? 🤮 Потому что был async void BrewAsync()"
"Почему в чашке StackOverflowException? 💩 Рекурсивный вызов AddSugar()"
"Кто-то забыл Dispose() чашку 🤡 — теперь в памяти утечка кофеина"

+ тимлид сразу подкидывает новых проблем, AFAIK!!1 💥
- Блок с [Obsolete] методами ("Старый кофеварка")
- BackgroundService для автоматического кофепития
- .gitignore для сбежавшего кофе

(1я серия про java)
  • 👍 4
More from @csharpcommon
  1. Sep 26, 2026🌟 Почему чайка-менеджеры любой процесс неизбежно превращают в waterfall⁉️ Думайте.
  2. Sep 25, 2026photo post
  3. Sep 22, 2026а попробуй на астре, там модель старая
  4. Sep 22, 2026photo post
  5. Sep 21, 2026photo post
  6. Sep 20, 2026video post
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 →