TGViewer
Лаборатория Математики и Программирования Сергея Бобровского Лаборатория Математики и Программирования Сергея Бобровского @lambda_brain · 1.41K subscribers
Post #1693 2.02K
Как 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)
  • 😁 58
  • 😎 7
  • 👍 5
  • ✍ 2
  • ❤ 1
More from @lambda_brain
  1. Oct 5, 2026Мнения экспертов по индустрии разработки игр в целом можете при желании найти сами на ютуб…
  2. Oct 5, 2026Просили пояснить за (M)PF геймдев ↑ Сложно сегодня придумать более сложное бизнес-направле…
  3. Oct 5, 2026. Облако драгоценностей за неделю. скоро зима (с) Приватный клуб. В жизни любого проекта н…
  4. Oct 1, 2026Ребята спрашивают, ну ок, моё скромное мнение. у вас где-нибудь можно прочитать ваше мнени…
  5. Sep 30, 2026Ладно, вот вам база, почему так трудно переучиваться с императивного/объектного стиля коди…
  6. Sep 30, 2026Ну, с Днём Рунета! Многие годы Рунет был эталонным примером свободы, а сегодня превратился…
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 →