《编码规范适行》PPT课件

上传人:xia****ian 文档编号:245085041 上传时间:2024-10-07 格式:PPT 页数:30 大小:254.50KB
返回 下载 相关 举报
《编码规范适行》PPT课件_第1页
第1页 / 共30页
《编码规范适行》PPT课件_第2页
第2页 / 共30页
《编码规范适行》PPT课件_第3页
第3页 / 共30页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,程序命名规则,重庆山外山科技有限公司 技术中心,-,软件部,前言,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要花太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中,贯彻实施,。,前言,优秀的软件工程师:,无私、协作,缩写,缩写,单元,BLDP,血泵,补液泵,超滤泵,肝素泵,配液板,电导板,驱动板,加热板,平衡腔板,电源板,空气板,漏血板,缩写,单元,BLDP,血泵,SP,补液泵,UFP,超滤泵,HEP,肝素泵,MB,配液板,CB,电导板,DB,驱动板,HB,加热板,BCB,平衡腔板,PB,电源板,AB,空气板,BLP,漏血板,文件目录,QT Creator,头文件,源文件,界面文件(若有),IAR,、,MDK,、,ADS,BOOT(cortexm3_macro.s,、,stm32f10 x_vector.c,),LIBRARY(STM32,库文件,),UCOSII,(若有),USER(,用户文件,),DOCUMENT(,用户文档、编码规范、头文件、源文件样例、更改记录,),命名规则,-,头文件,头文件由三部分内容组成:,(,1,)头文件开头处的版权和版本声明,(,2,)预处理块。,(,3,)函数和类结构声明等。,命名规则,-,头文件(顶部注解),文件:,*.h,作者:,*,版本:,V1.0,日期:,03/01/2010,摘要:,*,命名规则,-,头文件(顶部注解),#ifndefXXXX_H,#defineXXXX_H,#include ,#include “myhead.h”,#endif,注:,XXXX_H,中的,XXXX,用大写方式,如,head.h,则写成,HEAD_H,命名规则,-,源文件(顶部注解),(,1,)版权信息。,(,2,)文件名称,摘要。,(,3,)当前版本号,作者,/,修改者,完成日期。,(,4,)版本历史信息。,命名规则,-,源文件(顶部注解),Copyright(c)2012,重庆山外山科技有限公司技术中心,All rights reserved.,文件名称:,*.c/*.cpp,摘,要:,简要描述本文件的内容,当前版本:,1.1,作,者:,输入作者(或修改者)名字,修改内容:,简,要,说明本次修改内容及功能,完成日期:,2012,年,2,月,1,日,取代版本:,1.0,原作者,:,输入原作者(或修改者)名字,完成日期:,2012,年,1,月,10,日,命名规则,-,函数注解,函数名:,外设函数的名称,函数原形:,原形声明,功能描述:,简要解释函数是如何执行的,输入参数,x,:,输入参数描述,输出参数,x,:,输出参数描述,返回值:,函数的返回值以及,返回值的含义,程序注释,注释应对齐,边写代码边注释,修改代码同时修改相应的注释,注释统一用中文,命名规则,变量的名字应当使用“名词”或者“形容词名词”。,1,、全局变量,g_,2,、成员变量,m_,3,、静态变量,s_,其它变量命名采用骆驼命名法(,camelNameMethod,),函数及类采用帕斯卡命名法(,CamelNameMethod,),Qt中自定义槽,函数,(,SLOT,CloseTheWindow,),自定义信号,函数,(,SIGNAL,CloseTheWindow,)。,命名规则,常量,(包括define定义,及枚举,),全用大写的字母,用下划线分割单词。,例如:,const int MAX=100;,const int MAX_LENGTH=100;,#define MIN_LENGTH10,程序书写规则,在每个类声明之后、每个函数定义结束之后都要加空行,。,/,空行,/,注解,void Function1(),/,空行,/,注解,void Function2(),程序书写规则,在一个函数体内,,逻揖上密切相关的语句之间不加空行,,其它地方应加空行分隔,。,缩进按,Tab,键(具体缩进方式参照样例工程),/,空行,while(condition),statement1;,/,空行,if(condition),statement2;,else,statement3;,/,空行,statement4;,程序书写规则,一行代码只做一件事情,。,一个变量,一条语句,int width;/,宽度,int height;/,高度,int depth;/,深度,x=a+b;,y=c+d;,z=e+f;,程序书写规则,程序的分界符,和,应独占一行并且位于同一列,void Function(int x),/program code,程序书写规则,类的版式,,函数以,TAB,方式缩进,class A,public:,void Func1(void);,void Func2(void);,private:,int m_i,m_j;,float m_x,m_y;,突出功能,以行为为中心,程序书写规则,参数的书写要完整,不要贪图省事只写参数的类型而省略参数名字。如果函数没有参数,则用,void,填充,,,(包括函数的定义及声明都必须写上完整的参数)。,void SetValue(int,width,int,height,);,float GetValue(,void,);,红色部分不能省略。,程序书写规则,如果参数是指针,且仅作输入用,则,应在类型前加,const,,以防止该指针在函数体内被意外修改,,增加程序健壮性,。,void StringCopy(char*strDestination,,,const,char*strSource);,程序书写规则,不要省略返回值的类型,void,getchar(void);,因为,C,语言默认返回为,int,类型,程序书写规则,注意返回值(,堆和栈的区别,),char*Func(void),char str=“hello world”;,return,str,;,程序书写规则,将有限的值的变量定义成枚举,typedef enum/,工作模式,RUN_MODE_PREPARE,/,待机,RUN_MODE_HP,/,灌流,RUN_MODE_HD,/,透析,RUN_MODE_HF,/,滤过,RUN_MODE_SF,/,单纯超滤,RUN_MODE;,内存使用,char*p=(char*)malloc(100);,strcpy(p,“hello”);,free(p);,/p,所指的内存被释放,但是,p,所指的地址仍然不变,/p=NULL;,如果没有这句,,p,就相当于没有初始化,if(p!=NULL)/,没有起到防错作用,strcpy(p,“world”);/,出错,内存使用,(,1,)指针消亡了,并不表示它所指的内存会被自动释放。,(,2,)内存被释放了,并不表示指针会消亡或者成了,NULL,指针。,内联函数,内联函数外部声明时,,inline,加在函数定义处,inline,void A:Foo(int x,int y),程序健壮性,任何不会修改数据成员的函数都应该声明为,const,类型。,int Stack:GetCount(void),const,+m_num;/,编译错误,企图修改数据成员,m_num,Pop();/,编译错误,企图调用非,const,函数,return m_num;,程序健壮性,如果输入参数采用“指针传递”,那么加,const,修饰可以防止意外地改动该指针,起到保护作用。,例如,StringCopy,函数:,void StringCopy(char *strDestination,const,char *strSource);,程序健壮性,类的继承,若在逻辑上,B,是,A,的“一种”,并且,A,的所有功能和属性对,B,而言都有意义,则允许,B,继承,A,的功能和属性。,若在逻辑上,A,是,B,的“一部分”(,a part of,),则不允许,B,从,A,派生,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!