我写测试的主要原因是:#
- 减少认知负荷,
- 提高与同事的沟通,
- 能够安心入睡。
测试使我能够将困难的问题分解成足够小的块,以适应我的思维。虽然我还年轻,但随着每一年作为软件工程师的经验增长,我越来越经常地想知道这些块是否变小是因为我在我的工艺上变得更好,还是因为我失去了处理大而复杂的想法的能力。是的,我知道我有点偏执。
- 编写代码比阅读代码更容易。
- 如果你现在编写的代码很难读,那么以后几乎不可能读懂。
这是我改编的一句话,因为我找不到原始引用,但我认为它很好地概括了这个问题。以一种让一个更疲惫、注意力不集中、"醉醺醺" 的你也能理解的方式来组织你的代码。
测试有助于这一点,因为它们使代码背后的意图更加明显。首先,测试用例记录了使用情况。更重要的是,遵循 TDD 编写的代码往往更简单、更少抽象。
代码越简单、越无聊,我对自己的工作就越满意。
如果我们一起工作,我最不想做的就是让你的生活变得更艰难。对我们双方来说,能够专注于比解决混乱的代码更有意义的事情是最有利的,比如,你知道的,构建东西。