断言中的表达式不应过于复杂
10.8.3 ID_complexAssertion
断言中的表达式不应过于复杂,否则不易定位具体是哪一项不符合断言,不利于调试。
对于“逻辑与”表达式应将各子表达式分成多个断言。
示例:
void foo(int a, int b, int c) {
assert(a != 0 && b > 10 && c == b + 1); // Bad
....
}
应改为:
void foo(int a, int b, int c) {
assert(a != 0);
assert(b > 10);
assert(c == b + 1); // Good
....
}
本着使代码便于调试的理念展开工作,可有效降低测试及维护成本。
配置
maxLogicOperatorCount: 断言表达式中“逻辑与”运算符的最大数量,超过则报出