讯奇/巨力
开发规范
版本:
日期: <2010-05-07>
广州讯奇数码科技有限公司/汕头市巨力科技有限公司
版权所有不得翻印
目录
修改历史 3
1 C++开发规范 4
文件夹命名: 4
文件命名: 4
类命名: 4
结构体命名: 5
枚举命名: 5
宏命名: 5
全局函数: 5
静态函数: 6
指针、全局变量、局部静态变量: 6
函数设计: 6
类设计: 7
源代码文件设计: 7
日志规范 8
2 Java开发规范 9
严格遵守Java本身的风格 9
流水日志 9
性能日志 9
包设计 9
类设计 10
类属性设计 10
类方法设计 10
源代码文件设计 10
关于废代码问题 10
修改历史
时间
内容
作者
2009-1-22
创建本文档
梁兵
C++开发规范
文件夹命名:
采用全小写,多个单词之间直接连接。由于文件夹数量相对比较少,我们使用一两个单词就可以表达清楚,所以这种命名方式足够了。
名称一般要体现名词性。
例如:
framework、webwatch、yahoohttp、chat163、msnudpfile
文件命名:
采用每个单词首字母大写,单词其余部分全小写,多个单词之间直接连接;只有一个单词,首字母也要大写。
名称一般要体现名词性。
例如:
、、
、
、 、
、
类命名:
类名:采用每个单词首字母大写,单词其余部分全小写,多个单词之间直接连接;只有一个单词,首字母也要大写。(与文件名命名相同)
名称一般要体现名词性。
例如:
class Chat {…};class LineReader {…};
mandParser {…};class DBQueryPool {…};
成员函数名:采用单词首字母大写,多个单词之间直接连接;只有一个单词,首字母也要大写。
名称一般要体现动词性,单个动词或动宾结构。
例如:
class LineReader
{
public:
int Push(void * buf, int size);
int GetLine(void * buf, int size);
int GetLineLen();
private:
void MoveData(int copyLen);
private:
int _count;
int _bufIndex;
int _bufSize;
char * _pBuf;
};
成员变量名:以下划杠开头, 之后部分和成员函数名命名方式一样。例子参见上面代码片段。
名称一般要体现名词性。
结构体命名:
。
名称一般要体现名词性。
例如:
typedef struct DataTrunk
{
unsigned int _type;
char _data[256];
void * _pData;
struct DataTrunk * _pNext;
} DataTrunk;
枚举命名:
枚举名:。
成员名:所有字母大写,各单词之间用下划杠分隔。
名称一般要体现名词性。
例如:
enum DataTrunkType
{
ETHER_PKG = 0,
IP_PKG = 1,
UDP_PKG = 2,
TCP_PKG = 3,
MSG_STARTUP = 4,
MSG_SHUTDOWN = 5,
MSG_LOAD = 6,
MSG_UNLOAD = 7,
TCP_STREAM = 8
};
宏命名:
所有字母大写,各单词之间用下划杠分隔。
名称一般要体现名词性。
例如:
#define IPCHAIN_SIZE 64
#define PACKDIR_OUT 0
#define PACKDIR_IN 1
#define PACKDIR_OTHER 2
全局函数:
所有字母小写,各单词之间用下划杠分隔。
名称一般要体现动宾结构。
例如:
int init_db_pool();
void parse_mail(char * data, string & fro
开发规范V1.0 来自淘豆网m.daumloan.com转载请标明出处.