《编码规范适行优秀PPT.ppt》由会员分享,可在线阅读,更多相关《编码规范适行优秀PPT.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、前言没有一种命名规则可以让全部的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要花太多精力试图独创世界上最好的命名规则,而应当制定一种令大多数项目成员满足的命名规则,并在项目中贯彻实施。前言优秀的软件工程师:无私、协作缩写缩写单元BLDP血泵补液泵超滤泵肝素泵配液板电导板驱动板加热板平衡腔板电源板空气板漏血板缩写缩写单元单元BLDP血泵SP补液泵UFP超滤泵HEP肝素泵MB配液板CB电导板DB驱动板HB加热板BCB平衡腔板PB电源板AB空气板BLP漏血板文件书目QT Creator头文件源文件界面文件(若有)IAR、MDK、ADSBOOT(
2、cortexm3_macro.s、stm32f10 x_vector.c)LIBRARY(STM32库文件)UCOSII(若有)USER(用户文件)DOCUMENT(用户文档、编码规范、头文件、源文件样例、更改记录)命名规则-头文件头文件由三部分内容组成:(1)头文件开头处的版权和版本声明(2)预处理块。(3)函数和类结构声明等。命名规则-头文件(顶部注解)文件:*.h作者:*版本:V1.0日期:03/01/2010摘要:*命名规则-头文件(顶部注解)#ifndef XXXX_H#defineXXXX_H#include#include “myhead.h”#endif注:XXXX_H中的XX
3、XX用大写方式,如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日命名规则-函数注解函数名:外设函数
4、的名称 函数原形:原形声明 功能描述:简要说明函数是如何执行的 输入参数 x:输入参数描述 输出参数 x:输出参数描述 返回值:函数的返回值以及返回值的含义程序注释注释应对齐边写代码边注释,修改代码同时修改相应的注释注释统一用中文命名规则变量的名字应当运用“名词”或者“形容词名词”。1、全局变量 g_2、成员变量 m_3、静态变量 s_ 其它变量命名接受骆驼命名法(camelNameMethod),函数及类接受帕斯卡命名法(CamelNameMethod)Qt中自定义槽函数(SLOTCloseTheWindow),自定义信号函数(SIGNALCloseTheWindow)。命名规则常量(包括d
5、efine定义及枚举)全用大写的字母,用下划线分割单词。例如:const int MAX=100;const int MAX_LENGTH=100;#define MIN_LENGTH10程序书写规则在每个类声明之后、每个函数定义结束之后都要加空行。/空行/注解void Function1()/空行/注解void Function2()程序书写规则在一个函数体内,逻揖上亲密相关的语句之间不加空行,其它地方应加空行分隔。缩进按Tab键(具体缩进方式参照样例工程)/空行while(condition)statement1;/空行 if(condition)statement2;else state
6、ment3;/空行 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;突出功能以行为为中心程序书写规则参数的书写要完整,不要贪图省事只
7、写参数的类型而省略参数名字。假如函数没有参数,则用void填充,(包括函数的定义及声明都必需写上完整的参数)。void SetValue(int width,int height);float GetValue(void);红色部分不能省略。程序书写规则假如参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改,增加程序健壮性。void StringCopy(char*strDestination,const char*strSource);程序书写规则不要省略返回值的类型void getchar(void);因为C语言默认返回为int类型程序书写规则留意返回值(
8、堆和栈的区分)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)/
9、没有起到防错作用strcpy(p,“world”);/出错内存运用(1)指针消亡了,并不表示它所指的内存会被自动释放。(2)内存被释放了,并不表示指针会消亡或者成了NULL指针。内联函数内联函数外部声明时,inline加在函数定义处inline void A:Foo(int x,int y)程序健壮性任何不会修改数据成员的函数都应当声明为const类型。int Stack:GetCount(void)const+m_num;/编译错误,企图修改数据成员m_numPop();/编译错误,企图调用非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派生