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. Но с точки зрения безопасности давать хакерам такую подсказку все же не стоит. Так что хэдеры эти нужно удалять ручками
На основе этого доклада накидал промпт для агента, чтобы он сразу писал более менее чисто. Сам промпт в комментах. Еще и неплохой чек-лист для самого себя получился))
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:… Сгонял тут недавно в отпуск в Испанию, где много гулял и смотрел на всякие старые здания и прочие красоты. В последнее время чтобы что-то узнать о том или ином месте я просто пишу в 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)
На основе этого доклада накидал промпт для агента, чтобы он сразу писал более менее чисто. Сам промпт в комментах. Еще и неплохой чек-лист для самого себя получился))
- ❤🔥 4
- ❤ 3
- 🔥 2







