xoWidgets 编程风格

官方网址: http://gforge.osdn.net.cn/projects/xowidgets


本指南面向 xoWidgets 项目代码编写人员。包括两部分:
(1) 普通的C++可移植规则;
(2) xoWidgets 规则。

1 普通的C++可移植规则
(1) 不使用新的或还未被广泛支持的C++特性:
C++模板、异常、命名空间、RTTI、STL、嵌套类、新的逻辑操作符;
(2) 不在for () 语句中定义变量;
(3) 全部代码使用C风格注释(/**)
(4) 在带析构函数的类中至少定义一个构造函数;
(5) 代码块的临时注释使用预处理语句(#if 0),而不是注释(/**);
(6) 避免重载虚函数(virtual);
(7) 使用.h/.cpp作为C++源代码的扩展名;
(8) #include包含的目录文件中不使用反斜线(/);
(9) 所有文件代码的末尾均有新行;
(10) 变量前缀:静态(s_)、全局(g_)、成员(m_)、静态全局(sg_)、静态成员(sm_);
(11) 无参数的函数不使用void;

2 xoWidgets 规则
(1) 所有文件包含标准的文件头注释;
(2) 所有头文件(.h)包含预处理宏(_FOOBAR_H__);
(3) 代码缩排使用四个空格,而不是Tab;
(4) 类申明中的成员按固定的顺序排列(public、protected、private):
    类型定义:enum、[typedef] struct
    变量定义:[static] const、普通变量
    属性访问:Set/Get
    函数定义:构造函数、普通函数、虚函数
    事件处理:OnFooBar
(5) 为public符号使用XO或xo前缀(宏使用XO_、其余使用xo;特殊的宏使用XO);
(6) 常量使用enum定义、而不是#define或static const int;
(7) 变量定义语句的类型和变量之间仅使用一个空格;
(8) 变量命名:
    宏使用FOO_BAR;
    函数参数使用camelCasing的匈牙利简化法;
    其余地方使用PascalCasing;

其余的规则,请参照《GNU Code Standards》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值