让虚拟世界和现实世界成为相互的起点和终点蜗牛游戏程序编码规范(版本0.1)规范说明:.........................................................................................................................................................1一、命名规则...........................................................................................................................................1二、程序的版式........................................................................................................................................3三、注释...................................................................................................................................................5四、服务端平台无关................................................................................................................................7五、服务端表格操作................................................................................................................................7六、客户端文件读写................................................................................................................................8七、客户端内存操作................................................................................................................................8八、脚本内的注释....................................................................................................................................9规范说明:制定该规范的目的是让程序清晰易懂、易维护、易管理。该规范为强制规范,必须执行,如果有没涉及的地方请参考《高质量C++-C编程指南》。当所在编程环境(如MFC、Linux)与本规范有差异时,可以使用所在编程环境的规范,但是同一个项目必须是统一的规范。最后希望大家都能养成一个良好的程序习惯,一个好的习惯受益终身!一、命名规则1.所有命名应当直观且可拼读,并具有实际意义;工具开发支持管理-1-让虚拟世界和现实世界成为相互的起点和终点2.类名和函数名用大写字母开头的单词组合而成,接口类名以I开头;3.常量全用大写的字母,用下划线分割单词,尽量不要使用宏;4.类的数据成员加前缀m_,全局变量加前缀g_,静态变量加前缀s_;5.变量名第一个字母小写,使用“名词”或“形容词+名词”的词义表示法;示例:·局部变量char*pStringBuffer;int&stringFindResult;boolisEngineStartup;·函数命名unsignedintGetVoyageCoreState();staticboolGetVoyageServiceCount(int&count);·结构类型structNodeValue{intwidth;intheight;}·枚举类型(枚举值必须大写且有前缀)enumVoyageSupportType{VOYAGE_OS_SUPPORT_INVALID=1,VOYAGE_OS_SUPPORT_WINDOWS=2}·联合类型unionColor{unsignedchararrColor[3];structColorRGB{unsignedcharr;unsignedcharg;unsignedcharb;};};·类类型classObject{intm_width;//宽度工具开发支持管理-2-让虚拟世界和现实世界成为相互的起点和终点intm_height;//高度voidSetValue(intwidth,intheight);//成员函数virtualintGetArea();//虚函数inlineintGetWidth();//内联函数};·抽象类classISpriteManager{public:virtualintGetSpriteID()=0;virtualboolIsSpriteExist()=0;};·自定义类型typedefunsignedintNumber;·全局变量(我们不主张使用全局变量)intg_howManyPeople;·静态变量staticchar*s_pStringBuffer;·常量constfloatSPRINT_RADIUS=100.0f;·回调函数typedefint(*CALLBACK_SYSTEMINIT_FUNC)(IKernel*pKernel);二、程序的版式1.一行代码只做一件事情,只写一条语句,语句排版整齐;2.关键字之后要留空格,赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格,一元操作符...