C++ 自定义 `linter` 或 `formatter`:基于 AST 的代码风格检查器

哈喽,各位好! 今天咱们来聊聊C++代码的"美容院"——自定义的linter和formatter,专门基于AST(抽象语法树)的。 别害怕AST,听起来高大上,其实就是把代码扒光了,变成一棵树,方便我们检查哪里不顺眼,然后咔咔几刀,让它变得更漂亮。 为啥要自己搞? 市面上已经有很多不错的linter和formatter了,比如clang-tidy、clang-format,功能强大,配置灵活。 那我们为啥还要自己动手呢? 理由很简单,就像买衣服一样,定制款永远比批量生产的更合身。 独特的需求: 你的团队可能有特殊的代码规范,比如命名规则、注释风格、错误处理方式等等,现成的工具可能无法完全满足。 更精细的控制: 你可能需要对某些特定类型的代码进行更深入的分析和处理,比如检查某个函数是否使用了特定的API,或者优化某个算法的实现。 学习和研究: 自己动手实现一个linter/formatter,可以让你更深入地了解C++的语法和语义,以及编译器的内部工作原理。 这对于提升你的编程技能非常有帮助。 乐趣: 没错,编程也可以很有趣! 当你看到自己的代码风格检查器成功地揪出一 …