TGViewer
C# Short Posts 🔞 C# Short Posts 🔞 @dimasshortposts · 306 subscribers
Post #355 752
😎 Топ 10 вещей которые чувак с NDC делает в каждом проекте. И мой топ 5 из его топ 10

Сгонял тут недавно в отпуск в Испанию, где много гулял и смотрел на всякие старые здания и прочие красоты. В последнее время чтобы что-то узнать о том или ином месте я просто пишу в ChatGPT что нахожусь там-то и там-то и мол расскажи мне про то что я вижу перед собой.

Захотелось это автоматизировать, поэтому в перерывах между прогулками я пытался навайбкодить себе бота-экскурсовода, который делает простую фишку – ты ему кидаешь свою локацию, а он тебе рассказывает, что ты на ней можешь увидеть. И все это в стиле эксцентричного экскурсовода.

Как оказалось, я в первый раз вайбкодил что-то с нуля. 🐸 И для меня особой неожиданностью стало, что агент, который на готовом проекте пишет норм код, на новом проекте разводит грязь даже в readme файле.

Но, к счастью, мне попался вот такой доклад с NDC где челик рассказывает про то, какие 10 вещей он делает в каждом проекте, чтобы все было чистенько:

Из мастхевов, которые я сам стараюсь делать было вот такое:

1️⃣ TreatWarningsAsErrors – если честно настолько полезная фича, что я думал, что она уже везде по умолчанию включена.

2️⃣ Не прокидывать IOptions, а передавать конфиг в виде объекта который уже достал все значения из Value

3️⃣ Так называемая практика Early returns. Которая по сути предлагает не использовать по возможности блок else чтобы не увеличивать количество скобочек и визуальную сложность метода. Я кстати эту практику считал вкусовщиной, но посмотрев на код, который игнорирует эту практику, я понял, что все же это масхэв)))

4️⃣ Validate on Build. Вот это тоже хорошее дело. Позволяет автоматом проверить DI, и что вы не запихнули случайно Scoped сервис в Singleton. Для агентов это особенно важно, потому что их цикл разработки строится на обратной связи от ошибок билда

5️⃣ Central Package Management. Тоже мастхэв и вообще одна из самых полезных фич в шарпе. Без него сейчас нет смысла вообще стартовать проект. Как и без slnx

Остальные пункты тоже ничего, но вот эти пять мне показались самыми важными

Ну и еще одна вещь которая меня удивила ServerHeader: Kestrel. Честно говоря не знал ни зачем это заголовок, ни что он вообще существует. А он есть! Оказалось, что хитрые аналитики хотели так посчитать сколько людей юзают ASP NET. Но с точки зрения безопасности давать хакерам такую подсказку все же не стоит. Так что хэдеры эти нужно удалять ручками


builder.WebHost.UseKestrel(options => options.AddServerHeader = false)


На основе этого доклада накидал промпт для агента, чтобы он сразу писал более менее чисто. Сам промпт в комментах. Еще и неплохой чек-лист для самого себя получился))
YouTube 10 Things I Do On Every .NET App - Scott Sauber - NDC Oslo 2025 This talk was recorded at NDC Oslo in Oslo, Norway. #ndcoslo #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: https://ndcconferences.com https://ndcoslo.com/ Subscribe to our YouTube channel and learn every day:…
  • ❤‍🔥 4
  • ❤ 3
  • 🔥 2
More from @dimasshortposts
  1. Sep 26, 2026🧵 Тредик для вопросов по докладу про MAF на дотнексте В докладе многие подробности опусти…
  2. Sep 23, 2026Даже самым хардкорным ребятам надо отдыхать, так что отдыхаем, мои чюваки 🕺 🧑‍💻dp🥁 #he…
  3. Sep 16, 2026🎯 Instrumented Tier0: профилирование кода В прошлый раз мы разобрали два уровня компиляци…
  4. Sep 15, 2026🔜 Готовлюсь к DOTNEXT 2026 В прошлом году за две недели до выступления я зачитывал свой д…
  5. Sep 9, 2026C# Short Posts 🔞 pinned «🐸 О чём этот канал? Кажется, я уже достаточно давно веду этот к…
  6. Sep 9, 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 →