Home > 程序/算法 > Google C++代码风格指南

Google C++代码风格指南

October 24th, 2009

很多软件公司都会维护一份“代码编写指南”文档,规定(或至少建议)了代码风格范畴内的事项例如命名规范;缩进/空格/空行格式;对错误/异常的处理;某些语言特性的禁止或限制使用等。目的无非是希望代码更容易阅读和维护,更不容易出错,编译更快。

这个链接指向的是Google版c++代码风格指南

粗略读了一遍,绝大部分都深得我心(或至少可以接受),但也有一些我个人持保留意见的:

  • 每行限制80个字符。这个限制的初衷是让读代码的人不用去拖动横向滚动条,但是以现在的显示器尺寸,80个字符也太少了……我个人一般遵守100~120的限制。
  • 用空格而不用tab来缩进。是为了不管在什么编辑器里都是一样的缩进距离吗(一般编辑器都可以设置tab的大小)?,我觉得用tab挺好的,至少要删除缩进的时候方便很多。可能我vc用太多了。
  • 把左边花括弧放在行末而不是单独占一行。这个我非常不喜欢,因为这样我总是看不清代码段是从哪里开始的。当然,为了节省一行以便屏幕上能显示更多行的理由是站得住脚的,但我更愿意将编辑器字号减小来达到同样的效果。在visual studio里貌似有些语言(例如JavaScript)居然还会自动把代码修改成这种格式,简直要把我气死。

当然,关于代码风格的问题多数是个人习惯的不同,每个人都希望别人把代码写成自己想看到的样子,但实际上要真正在哪怕只有3个人的团队中“统一风格”也很难。我在十几年的coding生涯中也经常因为环境而改变自己的编码风格,其实这些都是次要的,写代码的本质还是逻辑。要想让代码容易阅读和维护,本质上还是要让其中的逻辑更加简单。

Categories: 程序/算法 Tags:
  1. yuxuehua
    November 16th, 2009 at 16:22 | #1

    把左边花括弧放在行末而不是单独占一行。这个我非常不喜欢,
    同感

  2. November 20th, 2009 at 21:47 | #2

    1. 每行限制80个字符,这个限制主要是为了方便代码打印,很多公司在做code review的时候,会把重要的代码部分打印出来,然后让大家分析。

    2. 这一条确实是这样,tab比较好用,只用输入一次,删除的时候也方便,4个空格要四次。不过确实是为了各个编辑器开起来都一样。

    3. 我现在的风格差不多就是这样:
    ret = notify_->on_gate_enter_character();
    if (ret>=0) {
    gate_send_.NMC_add_character_ok(0, 0, 0);
    } else {
    gate_send_.NMC_add_character_failed(0);
    }

    哈哈。小写加括弧尾部放置。看了一些开源,被其感染了。。。

    不知道这文章有没有PDF版本,保留一份还不错。

  3. November 20th, 2009 at 21:47 | #3

    ret = notify_->on_gate_enter_character();
    if (ret>=0) {
    gate_send_.NMC_add_character_ok(0, 0, 0);
    } else {
    gate_send_.NMC_add_character_failed(0);
    }

  4. November 20th, 2009 at 21:47 | #4

    @疯子阿虹
    倒,空格会自动裁掉。。。

  5. November 20th, 2009 at 23:47 | #5

    打印出来review…太奢侈了,不能投影出来么
    在纸上看代码,一点感觉也没有

    @疯子阿虹

  6. Leo
    December 28th, 2009 at 14:44 | #6

    俺们那也是用空格。但是,不要去动已有的代码。有些人自以为聪明,把别人的tab全部改成空格(或反之)…

  7. study
    February 23rd, 2010 at 15:24 | #7

    把左边花括弧放在行末而不是单独占一行。这个我非常不喜欢.
    这个怎么说了.我写c#代码是非常不喜欢那样.但是写JavaScript时一般我都会那样写.

Comments are closed.