当前位置:文档之家› C语言软件编写规范

C语言软件编写规范

C语言软件编写规范
以下是为大家整理的c语言软件编写规范的相关范文,本文关键词为语言,软件,编写,规范,北京,森馥,科技,股份有限公司,前言,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。

北京森馥科技股份有限公司
前言:
一个好的程序编写规范是编写高质量程序的保证。

清晰、规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试
效率,从而最终保证软件的质量和可维护性。

说明:
本规范适用于公司内使用c语言编码的所有软件。

本规范自发布之日起生效,以后新编写的和修改的代码应遵守本规范。

注:使用固件和操作系统源代码应保留其代码风格
1
北京森馥科技股份有限公司
目录
1.排版与格式................................................................................................................. ....................................32.标识符命名与定义................................................................................................................. ........................43.注释书写规范................................................................................................................. .. (6)
2
北京森馥科技股份有限公司
1.排版与格式
规则1:程序块采用缩进风格编写,每级缩进为4个空格。

程序块采用缩进风格编写,每级缩进为4个空格,不使用TAb键,
以免用不同的编辑器阅读程序时,因TAb键所设置的空格数目不同而造成程序布局不整齐。

规则2:相对独立的程序块之间、变量说明之后必须加空行。

示例:如下例子不符合规范。

if(!valid_ni(ni)){
//programcode...}
repssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;应如下书写
if(!valid_ni(ni)){
//programcode...}
repssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;
规则3:一条语句不能过长,如不能拆分需要分行写
换行时有如下建议:
??换行时要增加一级缩进,使代码可读性更好;
???低优先级操作符处划分新行;换行时操作符应该也放下来,放在新???换行时建议一个完整的语句放在一行,不要根据字符数断行示例:
if((temp_flag_var==TesT_FLAg)
intb=10;//不好的排版较好的排版inta=5;intb=10;
规则5:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括
号{}。

3
北京森馥科技股份有限公司
例:
if(value func(value);
}
规则6:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。

(1)比较操作符,赋值操作符\、\,算术操作符\、\,逻辑操作符\、\,位域操作符\、\等双目操作符的前后加空格。

if(current_time>=mAx_TIme_VALue)a=b+c;a*=2;a=b^2;
(2)\、\、\、\、\(地址运算符)等单目操作符前后不加空格。

*p='a';//内容操作\与内容之间flag=!isempty;//非操作\与内容之间p=//地址操作\与内容之间i++;//\与内容之间(3)\、\前后不加空格。

p->id=pid;//\指针前后不加空格
(4)if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。

if(a>=b&&c>d)
规则7:尽量使用宏定义代替数字
2.标识符命名与定义
标识符的命名要清晰、明了,有明确含义,同时使用完整的单词
或大家基本可以理解的缩写,避免使人产生误解
规则1:常量命名
常量命名的基本原则:
??符号常量的命名用大写字母表示。

如:#defineLengTh10
??如果符号常量由多个单词构成,两个不同的单词之间可以用下划线连接。

如:#definemAx_Len50
规则2:变量命名
变量命名的基本原则:
1)多个单词组成的变量名,首字母应该大写。

如:userInputValue。

2)用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。

3)变量名前加前缀,具体规则如下:
4
北京森馥科技股份有限公司
变量类型charunsignedcharshortunsignedshortintunsignedintfloatdouble全局静态结构体前缀s08_u08_s16_u16_s32_u32_f32_f64_g_s_strc_示例1:全局的char型变量g_u08_num
全局的结构体变量:g_strc_studentInfo
示例2:一些常见可以缩写的例子argument可缩写为argbuffer 可缩写为buffclock可缩写为clkcommand可缩写为cmdcompare可缩写为cmp
configuration可缩写为cfgdevice可缩写为deverror可缩写为err hexadecimal可缩写为hexincrement可缩写为inc、initialize可缩写为initmaximum可缩写为maxmessage可缩写为msgminimum可缩写为minparameter可缩写为paraprevious可缩写为prevregister可缩写为regsemaphore可缩写为semstatistic可缩写为statsynchronize可缩写为synctemp可缩写为tmp
示例3:一些常见的互斥意义单词
add/removebegin/endcreate/destroyinsert/deletefirst/lastget/releaseinc rement/decrementput/getadd/deletelock/unlockopen/closemin/maxold /newstart/stop
5
北京森馥科技股份有限公司
next/previoussource/targetshow/hidesend/receivesource/destinationcu t/pasteup/down
规则3:函数命名
函数命名原则与变量命名原则基本相同。

函数命名采用“Functionname”的形式。

3.注释书写规范
注释必须做到清晰,准确地描述内容。

对于程序中复杂的部分必须有注释加以说明。

注释量要适中,过多或过少都易导致阅读困难。

规则1:文件头的注释
/**********************************************************
**copyright(c),1988-1999,safetyTech.co.,Ltd.Filename:test.cpp Author:Version:Date:Description://模块描述Version://版本信息
FunctionList://主要函数及其功能1.-------
history://历史修改记录
David96/10/121.0buildthismoudle
***********************************************************
/
规则2:函数头的注释
/**********************************函数名称:bsp_Init
*描述:时钟初始化、硬件初始化*输入:无*输出:无
***********************************/
规则3:正文的注释
??如果变量的名字不能完全说明其用途,应该使用注释加以说明。

??数据结构声明(包括数组、结构、类、枚举等),如果其命名不是充分自注释的,必须加以注释。

对结构中的每个域的注释放在此域的右方。

??如果程序中使用了某个复杂的算法,建议注明其出处。

6
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。

谢谢支持!。

相关主题