我已经看到了以下类型的代码(在单元测试中),我想知道它背后的动机是什么:
int seed = GetMySeed()
Something(seed++)
SomethingElse(seed++)
YetSomethingElse(seed++)
现在,如果调用的三个函数相同,那么我可以在需要的情况下成像场景,例如创建具有不同种子的对象的多个实例。但是,在我看来,种子的直接修改感觉很不好,因为它对函数调用的顺序产生了不必要的依赖。即使我有修改种子的理由,对我来说写也更自然:
int seed = GetMySeed()
TheSameThing(seed)
TheSameThing(seed + 1)
TheSameThing(seed + 2)
增加种子的原因可能是什么?
编辑:还假设在第一个示例中,Something,SomethingElse和YetSomethingElse本质上是独立的,即它们不以它们共享的状态运行(显然,seed
除外)。