正文


大家好,我是bug菌~

最近来了位新同事,闲暇时分聊了几句,其中有一点让我记忆特别深刻,说:"怎么我们这边代码中的花括号风格都独立另起一行,看代码的时候挺不适应的~",我笑着说:"习惯就好了~"。

其实对于C代码中花括号的书写风格,bug菌也不是第一次听到不一样的声音了,包括之前文章中所编写的一些代码示例,也是有朋友跟我提及此事。

其实对于C代码中的花括号的风格也绝非偶然,他们是有具体的命名和使用考虑的,目前使用比较广泛的是如下两种风格:

风格一:Kernighan & Ritchie风格,也就K&R Style

void function()
{
    if(bTrue){
    //do someting......
    } else{
    //do someting......
    }
}

这种风格的花括号与使用它的语句同一行,其实这也是Linux内核中常采用的一种风格,相比风格二没有单独起一行,在一定程度上降低了代码长度,整体更加紧凑,但使用者经常会衍生出各种变体风格。

风格二:Allman风格,也叫BSD Style。

void function()
{
    if(bTrue)
    {
        //do someting......
    } 
    else
    {
        //do someting......
    }
}

这种风格也是bug菌目前习惯的一种编码风格,该编码风格有一种对称美,可能也是早已习惯的原因吧,但缺点也很明显,比较浪费行,一些朋友常说:"我都没写几句代码,却占了一个显示器~"。

至于花括号使用哪种风格也是一直存在一些争议,也没有说哪种风格会更胜一筹,所以不管选择哪种风格,最重要的是保持统一,不用过分纠结。

最后,做个投票统计,看看同行的花括号使用的哪种风格吧:

最后

      好了,今天就跟大家分享这么多了,如果你觉得有所收获,一定记得点个~,

最后一个bug,bug菌唯一创作平台~