C语言编程规范
宏:大写+下划线
函数名:全小写+下划线
变量名:全小写+下划线
//驼峰命名法
宏:大写+下划线
函数名:第一个单词全小写,后面单词第一个字母大写
变量名:第一个单词全小写,后面单词第一个字母大写,首字母有含义
/** ****************************************************************************** * @file test.h * @author xxx * @version V 1.0.0 * @date 2020-01-01 * @brief This file contains all the functions prototypes for the USART firmware library. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2> ****************************************************************************** */ #ifndef TEST_H //防止头文件重复引用 #define TEST_H #include <stdio.h> //引用标准库的头文件 #include "xxxxx.h" //引用非标准库的头文件 void Functionl(void); //全局函数声明 #endif
/** ****************************************************************************** * @file test.c * @author xxx * @version V 1.0.0 * @date 2020-01-01 * @brief This file contains all the functions prototypes for the USART firmware library. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2> ****************************************************************************** */ //行注释用//,段注释用/* */ #include "test.c" //引用头文件 void Functionl(void) { int a = 10; //定义变量的同时尽可能初始化 int b = 10; int c = 10; int *p = NULL; //*和&应尽量靠近变量,而不是靠近数据类型 int* x,y; //此处y容易被误解为指针,应改成下面写法 int *x,y; //空行分割段落 if (a == b) //if、for、while等关键字后面尽量都留一个空格在跟"(" { } for (int i=0;i<10;i++)//短循环放外层 { for (int j=0;j<100;j++)//长循环放内层 { } } if (a > 10 && b > 10 && c > 10) //长行拆分 { } if (10 == a)//在变量与数据作比较时,尽量将数据放在前面,变量放在后面,防止写成a=10 { } } //空行分割段落 void Function2(void) { int a = 10; int b = 10; int c = 10; } //宏、变量、函数等命名 //if语句bool变量用真假判断,数值用== != >= <=比较,指针用 == !=与NULL比较 //

浙公网安备 33010602011771号