我使用clang-tidy来检测源代码。在文件.clang-tidy
中,我定义了:
Checks: '-*,readability-identifier-naming'
CheckOptions:
...
- { key: readability-identifier-naming.NamespacePrefix, value: n1_ },
- { key: readability-identifier-naming.GlobalVariablePrefix, value: g1_ },
...
myHeader.h:
namespace n1_test
{
...
}
在Linux Mint 19.2 (Tina)
上使用clang-tidy(尝试了11.1.0,13.0.0git(都是我自己编译的)和10.0.0(下载的))检查这个文件
:
clang-tidy-11.1.0 -export-fixes=fixes.txt /tmp/clangTest/mylib/source/myHeader.h -- -I/tmp/clangTest/myLib/source
结果:
warning: invalid case style for global variable 'n1_test' [readability-identifier-naming]
namespace n1_test {
^~~~~~~~~~
g1_n1_test
我不明白为什么NamespacePrefix
不起作用,clang-tidy将命名空间视为全局变量。我还测试了NamespaceCase
,它不能工作。
PS:根据文档,这应该可以工作
不能直接对头文件使用clang-tidy。相反,我必须检查cpp文件,并添加-header-filter=.*
来检查标题:
clang-tidy-11.1.0 -header-filter=.* -export-fixes=fixes.txt /tmp/clangTest/mylib/source/main.cpp -- -I/tmp/clangTest/myLib/source