对于没有读过 Code Complete 2 的人来说,Pseudocode Programming Process 基本上是一种设计例程的方法,先用通俗的英语描述,然后逐步修改为更详细的伪代码,最后是代码。这样做的主要好处是通过自上而下而不是自下而上构建系统来帮助您保持在正确的抽象级别,从而在不同的层中发展出干净的 API。我发现 TDD 在这方面不太有效,因为它过于关注做最少的事情以使测试通过,并且鼓励很少的前期设计。我还发现必须为不稳定的代码(不断被重构的代码)维护一套单元测试是相当困难的,因为通常情况下,你需要为一个只需要一次或两次的例程进行十几个单元测试。当你进行重构时——例如更改方法签名——你所做的大部分工作是更新测试而不是更新产品代码。我更喜欢在组件的代码稍微稳定后添加单元测试。
我的问题是——在尝试过这两种方法的人中,你更喜欢哪一种?