TGViewer
C# 1001 notes C# 1001 notes @csharp_1001_notes · 6.64K subscribers
Post #829 3.27K
Есть соглашения по именованию в коде, которые все постоянно нарушают?


Имена классов, слоёв, обработчиков, сервисов - это часть архитектуры.
Но обычно всё держится на:

• договорённостях в голове
• комментариях в Wiki
“ну мы же так решили”

А потом кто-то добавляет UserCmdHandler, DoStuffManager или NewService2 - и структура просто разваливается.

💡 Решение: архитектурные тесты

Вы можете написать тесты, которые проверяют саму архитектуру, а не бизнес-логику.

Например:

все CommandHandler обязаны заканчиваться на CommandHandler
• классы из Application не должны ссылаться на Infrastructure
• контроллеры не имеют доступа к репозиториям напрямую

DTO не должны жить в доменной модели

И если кто-то нарушил правило - тест падает. Сразу. В CI.

⚙️ Что это даёт

Архитектура перестаёт быть кривой и косой.
Она начинает подчиняться строгим правилам.

Новый разработчик в команде может не знать всех договорённостей, но код всё равно останется чистым, потому что правила защищены тестами.

🧠 Главное осознание


Архитектурные тесты защищают структуру.

А структура - это то, что определяет, станет проект поддерживаемым…
или превратится в хаос через год.
More from @csharp_1001_notes
  1. Sep 20, 2026🧩 C# Channels: сообщение попало в очередь. Почему обработчик его не получил? Два воркера…
  2. Sep 16, 2026Эта задача проверяет понимание Memory<T>, pooling, ownership, IAsyncEnumerable, cancellati…
  3. Sep 16, 2026# C# 14: хитрая задача на ArrayPool, IAsyncEnumerable и время жизни памяти Есть поток данн…
  4. Sep 14, 2026# C# 14: конкурентный кеш без race condition Реализуйте потокобезопасный кеш: public seale…
  5. Sep 14, 2026🔍Тестовое собеседование с Senior C# разработчиком уже завтра 15 сентября(уже завтра!) в 1…
  6. Sep 11, 2026🔧 Как передать многострочный PEM через Aspire в ASP.NET Core Сертификаты и ключи в PEM со…
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 →