自己用的编码规范C/C++

结合公司规定,写给自己用的。

一,缩进

制表符(按下一个tab键)是4个字符,所以缩进也是4个字符。-----这一条修改一下,以后代码中,所有的缩进都用空格。每一行起始缩进为四个空格。
缩进的意义是清楚的定义一个控制块起止于何处。同时应该避免函数多级缩进,当你的函数嵌套太深(4级或以上)的时候,你应该修改你的程序。
在switch语句中消除多级缩进的首选的方式是让“switch”和从属于它的“case”标签对齐于同一列而不要“两次缩进”“case”标签。比如:
switch(balance){
case LH:
    fuck = RH;
    break;
case EH:
    balance = EH;
    break;
case RH:
    balance = LH;
    break;
default:
    break;
}
 

二,大括号的放置
    就像C语言的发明人Dennis Ritchie展示给我们的,是把起始大括号放在行尾,而把结束大括号放在行首,例如:
if (x == 1) {
    ....
}

这适用于所有的非函数语句块(if、switch、for、while、do)。比如,第一章中的switch case代码示例。
对于函数,函数的起始大括号放置于下一行的开头,例如:
int function_name(int x)
{
    body of function
}
    
结束大括号后面跟着同一个语句的剩余部分,也就是do-while语句中的“while”或者if-else语句中的“else”,例如:
do {
    body of do-loop
} while (condition);

if (x == y) {
    ....
} else if (x > y) {
    ....
} else {
    ....
}

只有一个单独的语句时,最好用大括号。
if (condition) {
    action();
}

三,操作符空格
    1,一元操作符后不要加空格: &  *  +  -  ~  !
    2,前/后缀自加和自减一元操作符前/后不加空格:++  --
    3,“.”和“->”结构体成员操作符前后不加空格。
    4,二元操作符,三元操作符两边加一个空格:低优先级例外
      推荐   i = i + 1;
             z = x*x + y*y;
             c = (a + b)*(a - b)
      不推荐 z = x * x + y * y;
             c = (a + b) * (a - b);
    5,尾部不能有空格。
四,指针位置
    当声明指针类型或者返回指针类型的函数时,“*”的首选使用方式是使之靠近变量名或者函数名,而不是靠近类型名。例如:
    char *linux_banner;
    unsigned long long memparse(char *ptr, char **retptr);
    char *match_strdup(substring_t *s);
五,命名
    1,函数名:
    在编写库函数或其他外部接口函数时,使用“大驼峰”的命名风格。
    在td系统中外部接口函数使用“大驼峰”的命名风格,即每一个单词的首字母都采用大写字母,同一类接口使用相同的前缀,例如:
        void Tw(TWidget *widget, const char *string);         // 以“Tw” 开头表示对控件的操作
        void TTable(TTable *table, T_ID id, Tbool if_create); // 以“TTable”开头表示对表的操作
        void TTask(void);                                     // 以”TTask”表示对任务的操作
    在编写应用程序时,函数和其他变量命名使用小写字母加下划线的方式。例如:
        int count_active_users();
    2,变量名
    局部变量名:应使用完整的单词或大家基本理解的缩写,避免使人产生误解,如果遇到多单词连接,则用小驼峰方法命名,如遇到指针或引用,第一个字母为p或者r,第二个字母为小写。
        int temp; int tmp; int tmpVal;int *ptmpVal;int rtmpVal;
    全局变量:前面加上g_作为标识:int g_pcmdFlag;
    命名中若使用特殊约定或缩写,则要有注释说明。
六,注释
    1,文件注释
    /**
     *  版本(version):1.0
     *  文件名(file name):programming
     *  内容描述(escription):编程规范
     *  作者(author):ldx
     *  完成日期(date):2018.11.23
     */
    2,函数注释
    /**
     *  函数名(function):my_function
     *  函数功能描述(description):两个整数求和
     *  函数参数(input):@num1 整数一
     *                     @num2 整数二
     *  函数返回值(Return):两数之和
     */
     int my_function(int num1, int num2);
    

你可能感兴趣的:(自己用的编码规范C/C++)