下面是小编为大家整理的硬件开发流程【优秀范文】,供大家参考。
{
}
} 俩种写法于世界著名的程序员手下均可见到,我们尊重个人的习惯,但推荐使用 后壹种写法。
复杂表达式 (俩个运算符之上,含俩个 )必须用括号区分运算顺序, 运算符的前后 应各有壹空格 ,习惯写于壹行的几个语句 (如 IF 语句),中间应有壹空格,其它语 句不鼓励写于同壹行。
空格加于适当的地方,如 if( ;for( ;){; 语句的上下对齐也可使程序便于阅读,如:
myStruct.iFirstNumber=0;
myStruct.lSecondNumber=1; myStruct.pThePoint=NULL;
C)常量:常量壹般情况下可用宏定义,用大写的方式,单词之间用下划线隔开如:
#defineMAX_LINE100
#definePI3.1415926
不鼓励于程序中出现大量的数字常数。
注:对于壹些有必要说明的缩写,能够于模块描述内加以说明。
5。头文件:
头文件壹般包括了数据结构的定义,函数原形的说明,宏定义等,不许包含 函数体和变量实体,文件名使用缺省的后缀.h,不使用类似.DEF等非标准的后缀 名,头文件的开始可包括如下的注释:
/********************************************************************
*CREATEDATE:创建日期 *
*CREATEDBY:创建人 *
*MODIFIEDBY :修改人 *
*USEDBY :由哪些模块使用* ********************************************************************/ 为了避免重编译,应加上条件编译语句,如文件 headfille.h 应包含下列语句:
#ifndef__HEADFILE_H
#define__HEADFILE_H
#endif
6?£预编译宏:对于代码中使用到的预编译宏,应于文件的适当处加以说明。对
于连续多行的宏,于书写上也采用缩进的格式。例如:
#ifdef_BORLANDC_
#defineFARfar
#defineNEARnear
#ifdefOS_DEBUG
#defineHHH0x11
#defineJJJ0x22
#undefKKK
#endif
#else
#defineFAR
#defineNEAR
#endif
对于夹于代码中的编译开关,于书写格式上当作源代码壹样处理。例如:
lpPrim=(LPTL2L1PRIM)GetMessage(&queL2L1);
if(lpPrim==NULL)
{
#ifOS_DEBUG
Printf( “ QueueL-2>L1isempty! ” );
#endif
return;
}
7。注释:
注释是源码中非常重要的部分, 不应少于源码行数的 15% ,我们希望能达到 25% 或更多。注释用中英文均能够,但应易读易懂。不要于壹个语句的中间插入 注释。
本规范内容符合公司有关文档要求,参照了北京研究部的关联文档,且听取了大 家的意见, 希望诸位于软件开发过程中, 能主动遵照本规范, 写出高质量的源码! 附页 本附页的内容不是“软件编程规范”的壹部分,但对于较大的软件,值得推荐。
1。接口函数(被其它模块调用的函数)及接口变量(被其它模块引用的变 量),其命名可增加前缀表明其所归属的模块。
如:
NLS_MsgProc,NLP_GetPHTime, NLS_LogcnToConnid...
由于 C 的函数均是全程的,其它函数也建议增加前缀来避免重名或混淆。
2。头文件分开定义
A)自用头文件:定义模块自用的函数,结构,变量等。
B)输出头文件:用于该模块向外输出,即别的模块于使用该模块提供功能时需要 引用的头文件,包含该模块的输出函数和输出数据结构,输出常量。
3。建议于使用有壹定关联的成组常量时使用枚举定义:
typedefenum
{
MONDAY,
SUNDAY,
}WEEKDAY; 于有特殊数值要求时于枚举内定义:
typedefenum
{
MONDAY=1,
SUNDAY=7,
}WEEKDAY;