//yichi的c代码编写规范:091216
//一、常量:
// 所有宏定义、枚举常数和const变量全部由大写字母构成,词与词之间用下划线分开,例如#define GPS_WORK_STATUS 0x30
//二、变量:
// 局部变量全部由小写字母构成,词与词之间用下划线分开,例如uint8 ack_delay_time[4];全局变量与局部变量类似,但每个单词的首字母大写,第一个单词的首字母不必大写,例如uint8 Ack_Delay_Time[4];
// 具有特殊意义的词头(只是为了使变量意义更加明确,不强制使用):
// 1、b_ :表示变量为位变量(只有0、1两种状态),例如:b_receive_end。
// 2、g_ :表示变量为全局变量,例如:g_GPS_Data_Len。
// 3、tmp_:表示变量为临时变量,例如:tmp_trans_data。
// 4、其他表示类型的词头:c char;l long;i integer;u unsigned;b boolean;p pointer;f float;lp long pointer;d double;s string;st structure;sz ASCII string;by byte;n short int。
// 5、其他表示含义的词头:x,y position;fn function;task task;sig signal;wd watchdog;msg message;pipe pipe。
//三、函数名:
// 函数名中不使用下划线,以首字母大写区分每个单词,第一个单词的首字母不必大写,例如void uart0TxBytes(uint8* bytes, int32 cnt);
//四、函数体格式:
// 书写函数时,函数名顶格写,表示函数界限的花括号另起一行顶格写,函数体内容缩进一个TAB(4个空格)。
// switch语句花括号另起一行,语句内容缩进一个TAB(4个空格)。
// if,for,while等语句后跟随大括号不另起一行,用空格隔开,语句内容缩进一个TAB(4个空格)。例如:
// int main(int argc, char* argv[])
// {
// int delay_time = 0;
// if(delay_time == 0) {
// delay_time = 100;
// }
// }
//五、运算符前后书写空格问题:
// 1、单目运算符:与变量之间不加空格,例如 !b_empty,i++。
// 2、算术运算符:与变量之间不加空格,例如 (3+4)*5-1,i+10。
// 3、赋值运算符与比较运算符:两侧都加空格:例如 tmp_trans_data < 2,len_data += 10。
// 4、,;:等分隔符:在分隔符后加空格,例如 ackToPlayer(0xCC, 0, 0)。
// 5、()[]""''等分隔符:前后不加空格,例如 rx0_buf[SIZE_RX0_BUF+4],"hello world!/n"。
//六、注释:
// 1、文件注释:通常置于每个程序文件的开头部分,它给出该程序文件的相关信息。格式如下:
// //*****************************************************************************
// **
// ** File Name : 'timer.c' 文件名称
// ** Title : Timer Support Library for LPC2100 标题
// ** Author : yichi - Copyright (C) 2009 作者
// ** Created : 2009.12.05 文件创建时间
// ** Revised : 2009.12.12 文件最后修改时间
// ** Version : 0.1 版本号
// ** Target MCU : ARM processors 目标处理器
// **
// ** NOTE: This code is currently below version 1.0, and therefore is considered 声明
// ** to be lacking in some functionality or documentation, or may not be fully
// ** tested. Nonetheless, you can expect most functions to work.
// **
// ** This code is distributed under the GNU Public License
// ** which can be found at http://www.gnu.org/licenses/gpl.txt
// **
// *******************************************************************************/
// 2、函数注释:通常置于每个函数的开头部分,它应当给出函数的整体说明对于理解程序本身具有引导作用。格式如下:
// /********************************************************************************************************
// ** Function name: IRQ_Exception 函数名
// ** Descriptions: interrupt exceptional handler , change it as needed 功能描述
// **
// ** input parameters: None 输入参数
// ** Returned value: None 返回值
// ** Used global variables: None 使用的全局变量
// **
// ** Arithmetic: None 使用的复杂算法
// **
// ** Created Date: 2009/12/16 创建时间
// ** -----------------------------------------------------------------------------------------------------
// ** Modified by: yichi 修改人
// ** Modified date: 2009/12/17 修改时间
// ** -----------------------------------------------------------------------------------------------------
// ********************************************************************************************************/
// 3、语句注释:长期注释必须使用//而不能使用/* */,调试时使用的/* */应尽快删除或改为//注释。
yichi的c代码书写规范
最新推荐文章于 2024-06-27 19:53:30 发布