Telegram Group & Telegram Channel
🔧 Shift Left с архитектурным тестированием в .NET

Что делать, чтобы ваш модульный (или монолитный) .NET-проект не превратился в «болото кода» спустя пару месяцев? Поможет механизм architecture testing, который позволяет строго контролировать архитектуру прямо в CI-пайплайне.

🎯 Почему это важно
Технический долг неизбежен: быстрые фиксы, дедлайны, новые участники — архитектура разваливается
• Architecture tests — это сдвиг влево, позволяющий обнаруживать нарушения структуры на ранних этапах разработки
• Это как страховка: если кто-то случайно нарушил архитектурные правила — сборка падает

🧩 Как это работает (на примере NetArchTest)


// Проверка: Ticketing-модуль не должен зависеть от Users, Events и т.д.
Types.InAssemblies(ticketingAssemblies)
.That().DoNotHaveDependencyOnAny(otherModules)
.Should().NotHaveDependencyOnAny(otherModules)
.GetResult()
.ShouldBeSuccessful();

// Проверка Clean Architecture:
Types.InAssembly(DomainAssembly)
.Should().NotHaveDependencyOn(ApplicationAssembly.GetName().Name)
.GetResult()
.ShouldBeSuccessful();


Можно проверять любой дизайн:
Модули — должны вызывать друг друга только через public API
Слои Clean Architecture — например, Domain не должен ссылаться на Infrastructure
Правила дизайна — все IDomainEvent должны быть sealed
Конвенции имен — например, все CommandHandler'ы должны оканчиваться на CommandHandler

🛠 Итого:
• Architecture tests — не просто инструмент, а средство контроля архитектуры
• Работает как компилятор для архитектурных правил — это гарантирует соблюдение структуры
• Идеально подходит для modular monolith, Clean Architecture и крупных систем
• Сдвигает баги из продакшна в CI-пайплайн

🧭 Как начать:
1. Выберите библиотеку (ArchUnitNET, NetArchTest, …)
2. Напишите пару тестов — например, на зависимости между слоями
3. Интегрируйте в CI (GitHub Actions, Azure Pipelines, TeamCity и др.)
4. Соблюдайте — и архитектура останется в целости

🎯 Ключевой вывод
С architecture testing вы не просто «следуете стандартам» — вы автоматизируете дизайн, позволяя команде фокусироваться на логике, а не на структуре. Shift Left не для QA — теперь и архитектура под защитой.

📚 Подробнее



tg-me.com/csharp_ci/1410
Create:
Last Update:

🔧 Shift Left с архитектурным тестированием в .NET

Что делать, чтобы ваш модульный (или монолитный) .NET-проект не превратился в «болото кода» спустя пару месяцев? Поможет механизм architecture testing, который позволяет строго контролировать архитектуру прямо в CI-пайплайне.

🎯 Почему это важно
Технический долг неизбежен: быстрые фиксы, дедлайны, новые участники — архитектура разваливается
• Architecture tests — это сдвиг влево, позволяющий обнаруживать нарушения структуры на ранних этапах разработки
• Это как страховка: если кто-то случайно нарушил архитектурные правила — сборка падает

🧩 Как это работает (на примере NetArchTest)


// Проверка: Ticketing-модуль не должен зависеть от Users, Events и т.д.
Types.InAssemblies(ticketingAssemblies)
.That().DoNotHaveDependencyOnAny(otherModules)
.Should().NotHaveDependencyOnAny(otherModules)
.GetResult()
.ShouldBeSuccessful();

// Проверка Clean Architecture:
Types.InAssembly(DomainAssembly)
.Should().NotHaveDependencyOn(ApplicationAssembly.GetName().Name)
.GetResult()
.ShouldBeSuccessful();


Можно проверять любой дизайн:
Модули — должны вызывать друг друга только через public API
Слои Clean Architecture — например, Domain не должен ссылаться на Infrastructure
Правила дизайна — все IDomainEvent должны быть sealed
Конвенции имен — например, все CommandHandler'ы должны оканчиваться на CommandHandler

🛠 Итого:
• Architecture tests — не просто инструмент, а средство контроля архитектуры
• Работает как компилятор для архитектурных правил — это гарантирует соблюдение структуры
• Идеально подходит для modular monolith, Clean Architecture и крупных систем
• Сдвигает баги из продакшна в CI-пайплайн

🧭 Как начать:
1. Выберите библиотеку (ArchUnitNET, NetArchTest, …)
2. Напишите пару тестов — например, на зависимости между слоями
3. Интегрируйте в CI (GitHub Actions, Azure Pipelines, TeamCity и др.)
4. Соблюдайте — и архитектура останется в целости

🎯 Ключевой вывод
С architecture testing вы не просто «следуете стандартам» — вы автоматизируете дизайн, позволяя команде фокусироваться на логике, а не на структуре. Shift Left не для QA — теперь и архитектура под защитой.

📚 Подробнее

BY C# (C Sharp) programming




Share with your friend now:
tg-me.com/csharp_ci/1410

View MORE
Open in Telegram


C C Sharp programming Telegram | DID YOU KNOW?

Date: |

Telegram auto-delete message, expiring invites, and more

elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.

The messaging service and social-media platform owes creditors roughly $700 million by the end of April, according to people briefed on the company’s plans and loan documents viewed by The Wall Street Journal. At the same time, Telegram Group Inc. must cover rising equipment and bandwidth expenses because of its rapid growth, despite going years without attempting to generate revenue.

C C Sharp programming from us


Telegram C# (C Sharp) programming
FROM USA