一点编程风格

1. 不要直接写下毫无意义的数字,用#define或者const来代替。

2.类成员函数的命名方式,PME构想。

PME构想是当今最流行的软件工程模型。PME是属性,方法,事件的缩写。也即:property, methord, event.

属性一般情况下表现形态为变量。

方法一般情况下表现形态为函数。

主动事件,一般情况下的表现形态为回呼函数,全部以On为前缀。

被动事件,一般情况下表现形态为虚拟函数,全部以Proc为前缀。

主动事件是指这个对象可能会引起的事件,这些事件一般由开发者指定处理函数。

被动事件是指这个对象可能要处理的事件,这些事件函数就是在对象中已经定义的函数,将有对象的上一级来调用。

例如:

class NPC

{

public:

  void (*OnPlayerChat) (CPlayer* player, const std::string& talk);

  void (*OnPlayerAttack) (CPlayer* player, Attack* attack);

private:

std::string name_;

  int hp_; 

}

#include 的路径及顺序

使用标准的头文件包含顺序可增强可读性, 避免隐藏依赖: C 库, C++ 库, 其他库的 .h, 本项目内的 .h.

项目内头文件应按照项目源代码目录树结构排列, 避免使用 UNIX 特殊的快捷目录 . (当前目录) 或 .. (上级目录). 例如, google-awesome-project/src/base/logging.h 应该按如下方式包含:
#include “base/logging.h”
又如, dir/foo.cc 的主要作用是实现或测试 dir2/foo2.h 的功能, foo.cc 中包含头文件的次序如下:
  1. dir2/foo2.h (优先位置, 详情如下)
  2. C 系统文件
  3. C++ 系统文件
  4. 其他库的 .h 文件
  5. 本项目内 .h 文件

这种排序方式可有效减少隐藏依赖.

posted @ 2011-04-05 02:15  小 楼 一 夜 听 春 雨  阅读(239)  评论(0编辑  收藏  举报