码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++ 代码规范: 命名规则、注释、格式

时间:2015-05-15 10:45:47      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:google   代码风格   

摘抄精简Google 开源项目风格指南:

http://zh-google-styleguide.readthedocs.org/en/latest/contents/

一. 命名规则

永远不要使用单词缩写(如count写成cnt)


变量名:
    小写字母,下划线连接,一般用名词,如error_count
    类的成员变量以下划线结尾,如my_exciting_member_variable_
    结构体的数据变量,小写字母,下划线连接
    全局变量,前缀g_ ,如g_global_variable


常量:
    加前缀k,如kDaysInAWeek


类型名:每个单词大写首字母,不含下划线,如MyClass


函数名:
    常规函数:每个单词首字母大写,没有下划线 DeleteElement()
    取值或设值函数:与存取的变量名匹配(如取得成员变量的值)
        如  void set_num_entries(int num_entries) { 
                num_entries_ = num_entries; 
            }


宏命名: 全大写,下划线连接


枚举:使用常量或宏命名方式


文件命名:全部小写,可以用下划线(_)或中线(-)连接
            my_useful_class.cpp (推荐)
            my-useful-class.cpp
            myusefulcalss.cpp


二. 注释

风格:

    // /**/ 要统一,只使用一种


文件注释:
    版权声明,许可证,作者标识
    文件内容注释:
        .h 文件对声明的类的功能和用法做简单说明
        .c 文件对实现细节或算法技巧 简单描述


类注释:
    每个类的定义都要附带一份注释,描述类的功能和用法
函数注释:
    函数声明:描述函数功能和用法,此处不会描述函数如何工作
        * 函数的输入输出
        * 参数是否可以为NULL
        * 描述函数对空间的分配和释放
        * 是否存在性能隐患
    函数定义:描述函数功能和实现要点

        如,编程技巧、大致实现步骤、为何如此实现


变量注释:
    普通变量:其本身足以说明用途,不需注释
    全局变量:必须注释含义及用途
    类数据成员:必须说明用途,如变量可接受NULL或-1等警戒值,必须说明


实现注释:
    代码前注释:对巧妙或复杂的代码段前注释
    行注释:在行尾空2格注释 (如果连续多行注释,应对齐)
    传入参数注释:对传入的NULL,bool,整数等说明含义(或者使用常量使望文生义)


三. 格式



函数声明和定义:
    函数类型和函数名必须同一行;
    函数名和左圆括号之间无空格;
    圆括号和参数之间无空格;
    左大括号在函数最后一个参数同一行的末尾处;
    右大括号单独一行
        int functions(double x, double y) {
            return x+y;
        }


函数返回值:
    return表达式不用圆括号, return x;  // not return(x);


条件/循环语句:
    * if 和左圆括号之间有个空格,右圆括号与左大括号之间有个空格
    * else 和 if 的 右大括号同一行
        if (condition) {


        } else {


        }

    * 简短并且没有else的条件语句可写在同一行
        if (i == 0) return NULL;
    * 单行不需要大括号
指针和引用表达式:
    句点或箭头前后不要有空格. 指针/地址操作符 (*, &) 之后不能有空格.


预处理指令:
    所有都从行首开始,无缩进,即使处于缩进代码块中
    // Good - directives at beginning of line
        if (lopsided_score) {
    #if DISASTER_PENDING // Correct -- Starts at beginning of line
            DropEverything();
    #endif
            BackToNormal();
        }


类格式:
    声明顺序public, protected, private 从行首缩进一个空格





C/C++ 代码规范: 命名规则、注释、格式

标签:google   代码风格   

原文地址:http://blog.csdn.net/quzhongxin/article/details/45741013

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!