C++编程风格

头文件
    1.用#define防止头文件被包含多次
        #ifndef _MY_HEADER_
        #define _MY_HEADER_
        ...
        #endif

缩进风格
    1.大括号独占一行,永远不省略大括号
        int func(void)
        {
            ...     // code_here
        }
    2.缩进的宽度为4个空格
    3.用空格代替制表符
        可以使用制表符编写代码,最终把制表符转换为空格
    4.每行代码不要超过80个字符

结构体和类
    1.类的定义在头文件中,类的实现在cpp文件中
        对于模板类定义和实现都在头文件中
    2.类的定义中先写共有函数,再写私有成员
    3.类的定义中写参数的默认值,在类的实现文件中用注释标明默认值
        /* Node.h */
        class Node
        {
        public:
            Node(int i = 0, Node *next = NULL, Node *prev = NULL);
        };
        /* Node.cpp */
        Node(int i /* = 0 */, Node *next /* = NULL */,
            Node *prev /* = NULL */) : i(i), next(next), prev(prev) { }

表达式
    1.单目运算符和变量名之间不空格
        *p++
    2.双目运算符前后空格
        sum = a + b
    3.复杂表达式用小括号标出层次关系
        (a > b) && (b > c)
    4.关于条件的判断中与0的比较
        char ch;        // (ch == '\0')
        int i;          // (i == 0)
        double d;       // (d == 0.0)
        void *p;        // (p == NULL)
        bool isEmpty;   // (isEmpty)

基本语句
    1.if,while,for,return,switch之后空格再接括号
        if (condition)
        {
            ...
        }

        switch (value)
        {
        case 1:
            doSomething();
            break;
        default:
            doDefault();
            break;
        }
    2.break语句单独占一行

命名
    1.命名原则:清晰直观地反映变量的作用
    2.类名首字母大写,其他单词首字母大写
        class MyClass
    3.枚举类名大写,前后各加两个下划线,枚举成员都大写
        enum SortFunc
        {
            INSET_SORT = 0,
            SHELL_SORT,
            ...
            SORT_FUNC_QUANTIY
        };
    4.常量大写
        const int CONST_INT
    5.变量名函数名都小写开头之后不同单词开头首字母大写
        int intVariable;
        void funcName(void);

C++特性
    1.尽量使用const代替宏定义常量
    2.尽量使用inline函数代替宏定义函数
    3.使用C++风格的格式转换,static_cast, dynamic_cast
    4.对于迭代器和模板类型来说尽量使用前置自增自减
        (后置自增自减需要拷贝当前值,影响效率)

注释
    1.在文件开头,使用块注释给说明一些文件信息
        /**
         * @file   filename
         * @brief  description
         * @author yourname
         * @e-mail your e-mail address
         * @date   today
         */
    2.在函数定义处,使用块注释说明函数
        /**
         * @brief 两个数相加
         *
         * @param a 加数
         * @param b 被加数
         *
         * @return 和
         */
        int add(int a, int b)
        {
            return (a + b);
        }
    3.代码中的一些说明用单行注释
        // 一些说明
    4.类、结构体、枚举类中成员的说明用///>
        class MyString
        {
        public:
            ...
        private:
            int length;     ///> 字符串的长度
            char *pstring;  ///> 字符串数组
        }
    5.函数中声明的局部变量用单行注释在变量后说明变量的含义
        int value;      // 变量的含义
    6.用分隔板分隔对分块的代码进行说明
        /****************************************************************
         * 对于以下代码功能的一些说明
         ****************************************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值