13、软件边界与单元测试的最佳实践

软件边界与单元测试的最佳实践

1. 边界处理

在软件开发中,边界处会发生许多有趣的事情,其中之一就是变化。优秀的软件设计应能在无需大量投入和返工的情况下适应变化。当使用不受我们控制的代码时,必须格外小心,以保护我们的投入,并确保未来的变更成本不会过高。

边界处的代码需要清晰的分离和明确预期的测试。我们应避免让过多的代码了解第三方的具体细节,依赖自己能控制的东西总比依赖无法控制的要好,否则可能会被其反制。

管理第三方边界的方法是在代码中尽量减少对它们的引用。可以像处理 Map 那样对其进行包装,也可以使用适配器将我们理想的接口转换为所提供的接口。这样做能让代码更易于理解,促进边界内外的内部一致性使用,并且在第三方代码变更时减少维护点。

2. 单元测试的发展历程

过去十年,软件开发行业在单元测试方面取得了长足的进步。在 1997 年,几乎没人听说过测试驱动开发(TDD)。那时,大多数人编写的单元测试只是一些临时性的代码,用于确保程序“能运行”。编写类和方法后,会临时拼凑一些代码进行测试,通常是一个简单的驱动程序,允许手动与编写的程序进行交互。

例如,在 90 年代中期为嵌入式实时系统编写的一个简单定时器程序:

void Timer::ScheduleCommand(Command* theCommand, int milliseconds) 

其功能是在指定的毫秒数后,在新线程中执行 Command execute

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值