C++代码布局

C++代码布局

问题

一致的布局是很有用的,C++对代码的布局没有严格要求,这导致了许多C++代码都有不一样的布局风格,阅读起来很不方便。

在我们周围存在许多不同风格的代码布局,人们赞同或反对它。实际的项目可能包含了许多不同来源的代码,因此,统一代码的布局通常是不可能的。但是,在你不知道使用或不被要求使用某种布局时,使用一种统一的布局是明智的做法。

我们可以通过IDE或一些工具来格式化我们的代码,例如Visual Studio IDEclang-format工具。

C++核心指南(C++之父参与编写)提供了一个统一的代码布局,但我并不非常喜欢,因为大括号的换行方式不统一,但这份指南中存在很多有价值的东西,例如如何编写现代C++代码。这是一份非常值得阅读的指南。

Clang-format

clang-format可用于格式化C++代码,一些IDE或编辑器都对它有集成,例如Visual Studio IDEVisual Studio Code以及Qt Creator。因此我们一般不需要安装它。

我们需要关注的是clang-format的配置文件:.clang-format,通过配置文件,我们可以控制clang-format在格式化代码时的布局风格。

下面是我使用的配置文件:

---
BasedOnStyle: LLVM
IndentWidth: 4
---
Language: Cpp
AccessModifierOffset: -4
ColumnLimit: 0
PointerAlignment: Left
  • BasedOnStyle: LLVM表示当没有指定其他配置时,使用LLVM编码标准的风格。
  • IndentWidth: 4:表示缩进宽度为4。
  • AccessModifierOffset: -4:表示访问修饰符(public:private:等)偏移量为-4,也就是不缩进。
  • ColumnLimit: 0:表示没有列数限制,此时会根据换行位置自动调整列宽。
  • PointerAlignment: Left:表示指针或引用优先靠近类型。

关于详细的配置,参考https://clang.llvm.org/docs/ClangFormatStyleOptions.html

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页