KBEngine奇技淫巧<一>
最近在读KBEngine代码,记录一下看到的奇技淫巧
命名规则
KBEngine的CPP命名规则是一个很诡异的命名规则,虽然有迹可循,但是不是匈牙利命名法,所以有点不适应。
成员变量
类内成员的命名是小驼峰+下划线组成,例如:
Network::NetworkInterface & networkInterface_;
Network::Address addr_;
uint8* datas_;
size_t datasize_;
size_t sentSize_;
size_t clientWindowSize_;
std::string assetsPath_;
std::string binPath_;
std::string options_;
uint64 lastTime_;
uint64 startTime_;
int64 pid_;
std::vector<std::wstring> sdkFiles_;
bool loadedSDK_;
std::wstring currSendFile_;
std::string out_;
一开始看其实挺不适应的,不过这个全看标哥心情。还好,所有的类成员都极其严格的
遵守这个规则,知道了这看成员变量还是舒服点。
容器变量
容器变量最后结尾会有一个s,代表复数的意思吧。
类型重定义
类型重定义是大写+下划线,例如:
typedef uint16 ENTITY_TYPE; // entity的类别类型定义支持0-65535个类别
typedef int32 ENTITY_ID; // entityID的类型
typedef uint32 SPACE_ID; // 一个space的id
typedef uint32 CALLBACK_ID; // 一个callback由CallbackMgr分配的id
typedef uint64 COMPONENT_ID; // 一个服务器组件的id
typedef int32 COMPONENT_ORDER; // 一个组件的启动顺序
typedef int32 COMPONENT_GUS; // 一个组件的genuuid_sections产生随机数的区间段
typedef uint32 TIMER_ID; // 一个timer的id类型
typedef uint8 ENTITYCALL_CALL_TYPE; // entityCall 所投递的call类别的类别
typedef uint32 GAME_TIME;
typedef uint32 GameTime;
typedef int32 ScriptID;
typedef uint32 ArraySize; // 任何数组的大小都用这个描述
typedef uint64 DBID; // 一个在数据库中的索引用来当做某ID
typedef uint32 CELL_ID;
typedef KBEUnordered_map< std::string, std::string > SPACE_DATA; // space中存储的数据
这都是我随便截取的代码,现在还没有加入思考。开工利是吧!!!