- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京山海经纬信息技术有限公司
产品一部C++编码规范
更新时间:2009. 07
版本:V2.0.0.0
发布人:李欣
目标
保证程序清晰易读,易于维护,保证产品的可持续性发展
养成良好的编程习惯,减少出错的可能性,提升产品质量
(代码是一项艺术品,程序员是一个专业人员,一个好的习惯利于人利于己)
总体原则
代码要简洁、易懂、美观
风格要统一、一致
编码规范
代码的对齐与缩进
描述:
这是一项美观性方面的要求,但实际上很大程度影响着代码的可读性。
具体要求:
同一级别代码要垂直对齐
不同级别代码要有正确的缩进,缩进应使用Tab键。
起始与终止的花括号“{}”应具有相同的缩进距离,并且均各自处于单独一行,该行不应有其它代码。
示例:
void CTestDlg::OnButton1()
{
int i=0;
}
if(pDBDriver == NULL)
return;
if(pDBDriver == NULL)
{
MessageBox(failed);
return;
}
try
{
}
catch(long errCode)
{
}
while(pDBDriver-FetchRecord(rec) == S_OK)
{
long id;
pDBDriver-GetField_Int32(rec, 0, id);
}
while(pDBDriver-FetchRecord(rec) == S_OK)
{
if(++count 600000)
continue;
long id;
pDBDriver-GetField_Int32(rec, 0, id);
if(count = 600100)
break;
}
for(j=0;j100;j++)
{
pClob[j] = A + (j % 26);
}
switch(type)
{
case 0:
{
}
break;
case 1:
{
}
break;
case 2:
{
}
break;
}
typedef enum
{
EnumRWM_Unknown = 0, // unknown
EnumRWM_Append, // append record
EnumRWM_Update, // update record
EnumRWM_Delete, // delete record
}
EnumRecordWriteMode;
enum EnumType
{
a = 1,
b = 2,
};
class CLog
{
public:
virtual void WriteLog(const char *pLine) = 0;
virtual void WriteText(const char *pText) = 0;
};
代码中的空行
描述:
代码中合理的空行同样保证程序的清晰易读。
代码简洁不意味着要删除空行,行数的多少与代码是否简洁无关
具体要求:
在函数体与函数体之间应有空行
在一个函数体内部,应有合适的空行,表示函数体功能的实现是分步进行的
在头文件中声明函数或者变量时,相互无关的函数或变量声明之间通常应有空行
相互关联紧密的语句之间不要有空行,如else if与else if之间不能有空行。
一般不应有两个以上连续的空行出现
示例:
class CEzRuleLength : public CEzRule
{
public:
CEzRuleLength();
virtual ~CEzRuleLength();
public:
virtual EnumEzRuleType GetType();
virtual EnumEzRuleCat GetCategory();
virtual void GetName(char *pName);
virtual void Prepare(void *pDBCnn, long DBCnn);
virtual bool CheckRecord(CEzRecordset *pRecordset, long index);
virtual long GetSupportFieldType();
private:
int m_iMinLength;
int m_iMaxLength;
};
EnumEzRuleType CEzRuleLength::GetType()
{
return enum_EzRT_Prop_Length;
}
EnumEzRuleCat CEzRuleLength::GetCat
文档评论(0)