个人编程规范
来源:互联网 发布:美国令人感动的 知乎 编辑:程序博客网 时间: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
- 个人编程规范
- 个人Java编程规范
- 个人编程规范
- 《java 编程规范》个人总结
- 加强个人Java编程规范
- Unity3D 个人编程规范总结
- DanoR的个人编程规范
- 个人编程规范(不断更新)
- C编程规范(个人粗笔)
- 对C#.NET编程规范的个人见解
- 对C#.NET编程规范的个人见解
- 对C#.NET编程规范的个人见解
- 对C#.NET编程规范的个人见解
- 嵌入式C语言编程规范(个人规约)
- 个人工作室开发规范
- 个人日常行为规范
- 个人命名规范
- 个人文件命名规范
- 关于C语言的数组部分归纳
- 左边固定宽度右边自适应
- 字典序算法
- 瞎谈CNN:通过优化求解输入图像
- 关于实对称矩阵的特征向量
- 个人编程规范
- JavaScript 核心基础1
- css-display/visibility
- 抽象类
- stat指令显示文件信息
- linux禁止root账号直接登录
- [51NOD]1126 求递推序列的第N项 [线性递推关系与矩阵乘法]
- 索引和约束
- 全球最杰出的14位程序员