我们在看别人写的代码时,会发现每个人都有自己的代码风格,这可能体现在注释的习惯上、命名的方法上、变量的使用上。而关于代码中的花括号,我们发现,主流只有两种对齐方法。
一种是将花括号头直接与相应的语句放在同一行,这种被称之为K&R风格:
void f() {
if (...) {
//...
}
//...
}
另一种是将花括号头放在单独的一行,并且与花括号尾对齐,这种被称之为Allman风格:
void f()
{
if (...)
{
//...
}
//...
}
K&R风格(紧凑风)
K&R风格来源于C语言的创建者Brian Kernighan和Dennis Ritchie。他们在《The C Programming Language》一书中广泛使用了这种风格,因此成为了现在很多C和C++开发者的默认选择。
使用K&R风格能够节省垂直空间,使代码更加紧凑,减少了滚动浏览页面的频率。
Allman风格(折叠风)
Allman风格来源于Eric Allman,他是BSD UNIX的开发者之一。这种风格是他在早期Unix系统代码中推广的。这种风格增强了代码的可读性,尤其是在大段代码中,每一个代码块的位置都很清晰。更容易在视觉上区分代码块的开始和结束,减少嵌套结构不清晰而导致的错误。同时有助于调试代码时快速的定位问题所属代码块。
如何选择代码风格
这两种风格都有很多使用者,具体选择哪种更多是个人习惯或者团队规范的结果。一般来说如果更注重代码的可读性,尤其是经常处理长代码段时,Allman风格会更合适。但是如果没有团队的强制要求,最好还是选择自己觉得最舒服的风格。