《编码规范适行》_第1页
《编码规范适行》_第2页
《编码规范适行》_第3页
《编码规范适行》_第4页
《编码规范适行》_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.程序命名规则重庆山外山科技有限公司 技术中心 -软件部.前言 没有一种命名规则可以让所有的程序员赞同,程序设计教科书一没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是般都不指定命名规则。命名规则对软件产品而言并不是“成败悠成败悠关关”的事,我们不要花太多精力试图发明世界上最好的命名规则,的事,我们不要花太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施贯彻实施。.前言优秀的软件工程师:无私、协作无私、协作.缩写缩写缩写单元单元BL

2、DP血泵补液泵超滤泵肝素泵配液板电导板驱动板加热板平衡腔板电源板空气板漏血板缩写缩写单元单元BLDP血泵SP补液泵UFP超滤泵HEP肝素泵MB配液板CB电导板DB驱动板HB加热板BCB平衡腔板PB电源板AB空气板BLP漏血板.文件目录QT Creator头文件源文件界面文件(若有)IAR、MDK、ADSBOOT (cortexm3_macro.s、 stm32f10 x_vector.c)LIBRARY(STM32库文件)UCOSII (若有)USER(用户文件)DOCUMENT(用户文档、编码规范、头文件、源文件样例、更改记录).命名规则-头文件头文件由三部分内容组成:(1)头文件开头处的版

3、权和版本声明(2)预处理块。(3)函数和类结构声明等。.命名规则-头文件(顶部注解)文件: *.h作者: *版本: V1.0日期: 03/01/2010摘要: *.命名规则-头文件(顶部注解)#ifndef XXXX_H#define XXXX_H#include #include “myhead.h”#endif注:XXXX_H中的XXXX用大写方式,如head.h则写成HEAD_H.命名规则-源文件(顶部注解)(1)版权信息。(2)文件名称,摘要。(3)当前版本号,作者/修改者,完成日期。(4)版本历史信息。.命名规则-源文件(顶部注解)Copyright (c) 2012,重庆山外山科技

4、有限公司技术中心All rights reserved. 文件名称:*.c/*.cpp摘 要:简要描述本文件的内容 当前版本:1.1 作 者:输入作者(或修改者)名字修改内容:简要说明本次修改内容及功能完成日期:2012年2月1日 取代版本:1.0 原作者 :输入原作者(或修改者)名字完成日期:2012年1月10日.命名规则-函数注解函数名: 外设函数的名称 函数原形: 原形声明 功能描述: 简要解释函数是如何执行的 输入参数 x :输入参数描述 输出参数 x :输出参数描述 返回值: 函数的返回值以及返回值的含义.程序注释 注释应对齐 边写代码边注释,修改代码同时修改相应的注释 注释统一用中

5、文.命名规则变量的名字应当使用变量的名字应当使用“名词名词”或者或者“形容词名词形容词名词”。1、全局变量 g_2、成员变量 m_3、静态变量 s_ 其它变量命名采用骆驼命名法(camelNameMethod),函数及类采用帕斯卡命名法(CamelNameMethod)Qt中自定中自定义槽义槽函数函数(SLOTCloseTheWindow),自定),自定义信号义信号函数函数(SIGNALCloseTheWindow)。)。.命名规则常量(包括define定义及枚举)全用大写的字母,用下划线分割单词。例如:const int MAX = 100;const int MAX_LENGTH = 10

6、0; #define MIN_LENGTH10.程序书写规则 在每个类声明之后、每个函数定义结束之后都要加空行。/ 空行/注解void Function1() / 空行/注解void Function2() .程序书写规则在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。缩进按缩进按Tab键(具体缩进方式参照样例工程)键(具体缩进方式参照样例工程)/ 空行空行while (condition) statement1; / 空行空行 if (condition) statement2; else statement3; / 空行空行 statement4; .程序书写规则

7、一行代码只做一件事情。一个变量,一条语句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; 突出功能突出功能以行为为中心以行为为中心

8、.程序书写规则参数的书写要完整,不要贪图省事只写参数的类型而省略参数名字。如果函数没有参数,则用void填充,(包括函数的定义及声明都必须写上完整的参数)。void SetValue(int width, int height);float GetValue(void);红色部分不能省略。.程序书写规则如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改,增加程序健壮性。void StringCopy(char *strDestination,const char *strSource);.程序书写规则 不要省略返回值的类型void getchar( voi

9、d );因为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 所指的内

10、存被释放,但是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_numPop();/ 编译错误,企图调用非const函数return m_num;.程序健壮性 如果输入参数采用“指针传递”,那么加const修饰可以防止意外地改动该指针,起到保护作用。例如St

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论