使用 TDD 创建日志库
1. 为什么要构建日志库
在日志记录方面,已经有很多现成的库可供选择。但构建一个新的日志库,并非多此一举,这其实是为了更好地实践测试驱动开发(TDD)。
TDD 是一种实用的开发方法,通过构建项目来学习和应用 TDD 是非常有效的途径。日志库本身既实用又贴合项目主题,而且可以从简单开始逐步增强功能。
如果已经有自己的日志库,或者正在使用其他地方找到的日志库,构建新日志库的过程也能帮助你更好地理解日志库的工作原理,并将相同的开发过程应用到自己的项目中。
我们采用微服务架构的视角来构建日志库,目标用户是编写微服务的软件开发人员。他们需要记录服务的操作,因此我们的日志库要满足他们的特定需求,而不是像大多数通用日志库那样缺乏针对性。
2. TDD 如何帮助构建日志库
使用 TDD 构建日志库的最大好处是关注客户需求。在设计软件时,很容易根据常见解决方案做出假设,但 TDD 鼓励我们思考如何使用正在构建的软件,从而定制出最适合我们需求的解决方案。
TDD 能引导我们先找到简单的解决方案,并验证其有效性。在不断增强和优化解决方案的过程中,测试可以确保我们不会破坏现有功能。当需要进行设计更改时,现有的测试可以帮助我们验证新设计,让我们对新设计充满信心。
此外,TDD 还能通过提供清晰的使用示例和文档,增加其他项目对日志库的使用。随着时间的推移,结合用户反馈,我们的日志库会不断完善。
3. 理想的日志库是什么样的
在设计新的日志库之前,我们先看看 C++ 本身提供的功能是否足够。例如,下面的代码试图计算从 1 开始将值翻倍三