目录
0前言
通过自动化单元测试的形式守护系统架构是一种有效的方式,可以确保系统在不断演进和修改的过程中保持稳定和可靠。
自动化单元测试是指通过编写测试代码来验证系统中的各个单元(如函数、类、模块等)是否按照预期工作。它可以帮助开发人员及时发现和修复代码中的问题,确保系统的各个组件在修改后仍然能够正常工作。
1 背景
随着需求开发迭代,代码库规模逐渐变大,新的团队成员引入等诸多因素,系统起初制定的架构规则不可避免遭到破坏。不仅仅是破坏团队的统一开发规范,更为重要的是随着代码库规模逐渐增长,大大降低系统的可维护性、扩展性,增加评审复杂度和重构成本,也最终导致团队生产力下降以及研发成本增长。
在敏捷开发环境下,系统通过迭代增量的交付价值,系统架构也是如此。团队不可能在项目之初就建立完美的系统架构,系统架构应该随着系统迭代不断演进。
架构演进和架构腐化是看待架构的不同视角:架构腐化着眼于现状,架构演进侧重于未来
架构腐化不可避免,随着时间流转腐化现象必然发生。而我们需要做的是:通过某种方式及早发现和修正
2 为什么选择 Archunit
我们需要通过引入一种机制或技术,降低或及早发现架构腐化现象的发生,保持统一的系统架构约束。
- 支持架构规则自动化检查
- 轻量级,接入成本低
- 结果及时反馈
- 灵活扩展且扩展成本低
对于架构规则常见的验证方式:代码评审、代码质量分析工具或平台、Archunit