doom编程规范
来源:互联网 发布:电脑店铺收银软件 编辑:程序博客网 时间:2024/06/12 15:10
认为一个tab为4个空格。
if ( x ) {
} if这样写,前后都有空格
if ( x ) {
} else {
} //代码尽量紧凑
x = ( y * 0.5f ) ; 代替: x = (y * 0.5f) ;
float f = 0.5f ; 代替 float f = 0.5 ;
float f = 1.0f ; 代替 float f = 1.f ;
函数命名首字母大写:
void Function ( void ) ;
在多单词的函数命名时,每个单词的首字母大写:
void ThisFunctionDoesSomething ( void ) ;
函数的标准头文件如下:
/*
========================
FunctionName
Descrption
========================
*/
变量名一小写字母开始:
float x ;
在多个单词命名变量名时,第一个单词的起始字母是小写,后面的每个单词的起始字母大写:
float maxDistanceFromPlane ;
typedef 类型 采用变量命名的规则,但是以_t结束:
typedef int fileHandle_t ;
结构类型采用和变量命名的规则,且以_t结束:
struct renderEntity_t ;
枚举类型采用变量命名规则,且以_t结束。每个枚举成员都用大写字母,多个单词用_隔开
enum contact_t {
CONTACT_NONE,
CONTACT_EDGE,
CONTACT_MODELVERTEX,
CONTACT_TRMVERTEX
} ;
递归函数命名以_r结尾:
void WalkBSP_r ( int node ) ;
#define 的所有的都用大写字母,多个单词用_分隔开:
#define SIDE_FRONT 0
尽量使用const:
const int *p ; //pointer to const int
int * const p ; //const pointer to int
const int * const p ; //const pointer to const int
不使用:
int const *p ;
类:
类的标准头文件如下:
/*
===============================================
Description
===============================================
*/
类名以“id"开头,并且后面的单词首字母大写(用id开头的原因是他们是id团队):
class idVec3 ;
类名规则与变量命名规则一样:
class idVec3 {
float x ;
float y ;
flaotz ;
} ;
类成员函数与函数命名规则一样:
class idVec3 {
float Length ( void ) const ;
} ;
类的成员变量和方法要使列对齐。变量类型和方法类型放在第一列,变量名字和方法名字房子第二列:
class idVect3 {
float x ;
float y ;
float z ;
float Length ( void ) const ;
const float *ToFlaotPtr ( void ) const ;
}
指针的*放在第一列的原因是为了可读性,把它作为类型的一部分。
对类中的变量和方法排序如下:
1. 友员类的列表
2. Public 变量
3. public 方法
4. protected 变量
5. protected 方法
6. 私有变量
7. 私有变法
上面使得public接口能够很容易地在类的开头找到。
如果类方法没有修改任何的类变量,则将其定义为const.
避免使用 const_cast。当对象需要修改时,但是只能获取到const的版本,创建一个函数,清楚的给这个对象一个可编辑版本。
返回const 对象,除非改变了它的对象的状态。
.
.
.
- doom编程规范
- DOOM启示录
- HDU5239 Doom
- 《DOOM 启世录》
- 《doom》摘抄
- 【规范】编程注释规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范:
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 关于相对布局RelativeLayout
- VS2008服务器资源管理器不可见 非常好使
- [DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection.无效的连接。
- 黑马程序员 – 开始发博客!
- Linux 下使用QQ2012和谷歌输入法
- doom编程规范
- 100个windows平台C++开发错误之十五指针
- 渲染队列---Ogre
- C++堆 和 栈 空间的区别 .
- MVC中ViewBag、ViewData和TempData 的区别与联系
- 洛克菲勒的支票
- 100个windows平台C++开发错误之十六宏定义
- gnuplot 读取逗号分隔的数据文件
- C++动态分配内存new delete .