如何解决Clang-Tidy : readability-function-cognitive-complexity.DescribeBasicIncrements 值没有影响
在 https://clang.llvm.org/extra/clang-tidy/checks/readability-function-cognitive-complexity.html 提供的示例代码上运行 clang-tidy 时,请参阅函数 3。
使用下面的命令
clang-tidy.exe Example.cpp -config="{Checks: '-*,readability-*',CheckOptions: [{key: readability-function-cognitive-complexity.Threshold,value: 2},{key: readability-function-cognitive-complexity.DescribeBasicIncrements,value: false} ]}"
我得到低于输出。
\Example.cpp:2:5: warning: function 'function3' has cognitive complexity of 3 (threshold 2) [readability-function-cognitive-complexity]
int function3(bool var1,bool var2) {
^
\Example.cpp:3:3: note: +1,including nesting penalty of 0,nesting level increased to 1
if(var1) { // +1,nesting level +1
^
\Example.cpp:4:5: note: +2,including nesting penalty of 1,nesting level increased to 2
if(var2) // +2 (1 + current nesting level of 1),nesting level +1
^
\Example.cpp:4:13: warning: statement should be inside braces [readability-braces-around-statements]
if(var2) // +2 (1 + current nesting level of 1),nesting level +1
^
{
\Example.cpp:5:14: warning: 42 is a magic number; consider replacing it with a named constant [readability-magic-numbers]
return 42;
所以,键 readability-function-cognitive-complexity.DescribeBasicIncrements
似乎没有任何作用。我也试过
{key: readability-function-cognitive-complexity.DescribeBasicIncrements,value: 'false'}`
{key: readability-function-cognitive-complexity.DescribeBasicIncrements,value: '0'}
{key: readability-function-cognitive-complexity.DescribeBasicIncrements,value: 0}
但仍然获得了增加认知复杂性的额外诊断。 所以,我认为 readability-function-cognitive-complexity.DescribeBasicIncrements 坏了还是我做错了什么?
附加信息:
- clang 12.0 版
解决方法
这是您问题的根源:
附加信息:
- clang 12.0 版
DescribeBasicIncrements
选项是在 this commit 中引入的,它不是 clang 12.0 的一部分
安装最新的 clang 版本,它应该可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。