有没有办法对clang-format / clang-tidy中的类成员/方法强制使用“ this->”?

时间:2019-05-09 11:04:47

标签: c++ clang-format clang-tidy

我到处搜索,但可能使用了错误的术语。我还没有找到这样的选择。

我发现的唯一问题是这个未解决的问题(但是范围更广):CPP lint: Can you enforce use of this for class variables?

2 个答案:

答案 0 :(得分:5)

鉴于existing options,我不认为使用clang格式可以做到这一点,而不是将来会这样。 这样做的主要原因是程序的工作方式。它不会将C ++代码解析为AST,而是将文本标记化,而无需包含(定义其成员和全局变量),而不是编译数据库(影响定义,包含路径...)。甚至可以给它一段代码并将其重新格式化。

从问题的本质来看,如果它可以存在于clang-tooling中,则可能会成为编译器警告或clang-tidy。因为这在编译时检查起来应该很便宜,所以可能会发出警告,尽管警告通常是关于全球公认的改进。我不相信对此达成共识。

所以,剩下的就整洁了。看着the options,我看不到该选项。我认为这可能是readability-*检查,因为这里允许进行更多有争议的检查。不过,我认为,如果您需要这样做,您应该自己编写并将其提供给项目。

最后的个人笔记:我不相信this->是一个很好的解决方案,尽管也不是一切都以m_开始(已经可能),或者不这样做。如果支票可配置为添加/删除this->,那就太好了,这样人们就可以尝试一下了。

答案 1 :(得分:4)

从clang-format文档的样式options来看,这似乎是不可能的。