个人编程规范

来源:互联网 发布:美国令人感动的 知乎 编辑:程序博客网 时间:2024/05/21 00:48

1.文件

1.1 中文版

1.1.1 头文件

/*                               //版本和版本声明* Copyright (c) 2016,百度* All rights reserved.** 文件名称:filename.h* 文件标示:见配置管理书* 摘要:简要描述本文件的内容** 当前版本:1.1* 作者:XXX* 完成日期:2017年1月5日** 取代版本:1.0* 原作者:XXX* 完成日期:2017年1月1日*/#ifndef FILENAME_H     //防止头文件重复定义#define FILENAME_H                       //不同逻辑段要空格    #include <math.h>     //引用标准库用<>、非标准库用""#include "mymath.h"                         void CountNum()        //头文件声明.cpp文件定义                                     {}class RedBox{  public:     void Draw(int width);     ...  private:     int m_width;}#endif

1.1.2 cpp文件

/*                                                   * Copyright (c) 2016,百度* All rights reserved.** 文件名称:filename.cpp* 文件标示:见配置管理书* 摘要:简要描述本文件的内容** 当前版本:1.1* 作者:XXX* 完成日期:2017年1月5日** 取代版本:1.0* 原作者:蔡志锋* 完成日期:2017年1月1日*/#include "filename.h"int g_howMangPeople;               //尽量不使用全局变量,如果使用,命名前面加g_/** 函数介绍:* 输入参数:* 输出参数:* 返回值:*/void CountNum(BOOL flag)              //函数命名用大驼峰法、参数命名用小驼峰法     {     int i = 1;                      //一行代码只做一件事情,只定义声明一个数     int j = 2;     int maxNum;                     //变量命名用小驼峰法     const int TOTAL;                //常量全部用大写     static int s_initValue;         //静态量用s_开头     if (i == 1)                     //代码间要有空格     {         ...      }     for (i=0; i<3; i++)             //代码太长可以减少空格}class RedBox::Draw(int width){     m_width = width;               //类的数据成员前加m_}

1.2 英文版

/************************************************** Copyright (C), 1988-1999, ANSCEN* File name: filename.h            // 文件名* Author: XXX  Version: 1.1   Date: 2017.1.1               // 作者、版本及完成日期* Description:                    // 用于详细说明此程序文件完成的主要功能,与其他模块                                  // 或函数的接口,输出值、取值范围、含义及参数间的控                                    // 制、顺序、独立或依赖等关系* Others:                               // 其它内容的说明* History: // 修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述* <author> <time> <version > <desc>* David 96/10/12 1.0 build this moudle*************************************************//************************************************************* Copyright (C), 1988-1999, ANSCEN* FileName: test.cpp* Author: Version : Date:* Description: // 模块描述* Version: // 版本信息* History: // 历史修改记录* <author> <time> <version > <desc>* David 96/10/12 1.0 build this moudle***********************************************************//************************************************** Function:                     // 函数名称* Description:                // 函数功能、性能等的描述* Input:                  // 输入参数说明,包括每个参数的作用、取值说明及参数间关系。* Output:                 // 对输出参数的说明。* Return:              // 函数返回值的说明* Others:             // 其它说明*************************************************/int AddFunc(int a, int b){     return a + b;}

2.命名方法

2.1 文件名

//cpp和h文件都要小写,采用名词加动词//如:upnpdiscovery.cpp/upnpdiscovery.h

2.2 数据

//(驼峰命名法 )#define ADD(A,B)  A+B       //#define 大写int myCount;           //变量(小写 + 大写) m_widTh = width;        //类的数据成员(m_ + 小写 +大写)int g_numPeople;        //全局变量 (g_ + 小写 + 大写)static int s_initValue;   // 局部静态变量(s_ + 小写 + 大写)const int CONA;           //常量   大写int pCallback;        //指针变量( p + 大写)int aCallback;      //数组变量(Array)(a + 大写)//局部循环,用i,j,k

2.3 方法

int MyStudentCount();  //函数及函数参数enum   //大写//类 class DataBaseUser{};  //类名,类的成员:m_//typedef定义struct1.typedef struct STUDENT_STRU    //固定xxx_STRU{     unsigned char name[8];} STUDENT;                 //类型大写2.typedef float SCORE;union(未决定)

2.4 实例

#include "filename.h"int g_howMangPeople;               //尽量不使用全局变量,如果使用,命名前面加g_/** 函数介绍:* 输入参数:* 输出参数:* 返回值:*/void CountNum(BOOL flag)              //函数命名用大驼峰法、参数命名用小驼峰法{     int maxNum;                     //变量命名用小驼峰法     const int TOTAL;                //常量全部用大写     static int s_initValue;         //静态量用s_开头}class RedBox::Draw(int width){     m_widTh = width;               //类的数据成员前加m_}

3.注释

正常一律使用/* */     非正常的用//(比如测试代码)/* 一般注释在头部 */if (a == b){}//有注释的语句要隔开,//用于单句注释switch(i){     case 1:break;  }int FuncA(int iA,          int iD,          int iC             )if (...){    while (index < MAX_INDEX)    {    }  /* end of while (index < MAX_INDEX) */  // 指明该条 while 语句结束}       

4.风格

int i = 1;                      //一行代码只做一件事情,只定义声明一个数int j = 2;                      //同类型堆放,int型放一起if (i == 1)                     //代码间要有空格{                               //{}要分开    ...}for (i=0; i<3; i++)             //代码太长可以减少空格int FuncA(int iA,              //过长要分行写     int iD,     int iC      )

5.参考书籍

华为编程规范、Googlec++编程规范、c++编程规范

0 0
原创粉丝点击