打印
[其它应用]

同行,你的C代码中花括号是哪种?

[复制链接]
553|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2023-8-9 09:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近来了位新同事,闲暇时分聊了几句,其中有一点让我**特别深刻,说:"怎么我们这边代码中的花括号风格都独立另起一行,看代码的时候挺不适应的~",我笑着说:"习惯就好了~"。
其实对于C代码中花括号的书写风格,我也不是第一次听到不一样的声音了,包括之前文章中所编写的一些代码示例,也是有朋友跟我提及此事。
其实对于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......
  •     }
  • }


这种风格也是我目前习惯的一种编码风格,该编码风格有一种对称美,可能也是早已习惯的原因吧,但缺点也很明显,比较浪费行,一些朋友常说:"我都没写几句代码,却占了一个显示器~"。
至于花括号使用哪种风格也是一直存在一些争议,也没有说哪种风格会更胜一筹,所以不管选择哪种风格,最重要的是保持统一,不用过分纠结。

使用特权

评论回复
沙发
yangxiaor520| | 2023-8-9 19:21 | 只看该作者
两种风格各有千秋

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1504

主题

4518

帖子

6

粉丝