我有两个功能:
void prepare() 和 void finish() 将按顺序调用,如:
prepare();
<do something>;
finish();
...
prepare();
<do something>;
finish();
我想做一个简单的断言来简单地测试它们实际上是以这种方式被调用的,并且它们没有在应用程序中被同时调用或乱序调用。
此应用程序是单线程应用程序。这是一个简单的开发/测试完整性检查,以确保这些函数被按顺序调用,并且无论出于何种原因,它们不会被同时调用。此外,这些断言/完整性检查应该从生产代码中省略,因为性能至关重要!
像这样的简单 assert() 效果最好吗?
int test = 0;
void prepare() {
assert(++test == 1);
.
.
.
}
void finish() {
assert(--test == 0);
.
.
.
}