- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
brew编程规范
C语言编程规范要求(试行)
修订历史记录
日期 版本 说明 作者 2009-6-5 1.2 罗剑锋 2009-5-6 1.1 罗剑锋
绪论:
基本要求:简单是最好的。
可读性要求:程序是给人看的。
命名规则:好名字是成功的开始。
程序注释:要养成习惯
程序结构和容错性:
编辑排版:让程序变漂亮。
开发工具:统一开发工具
开发文档:必须的文档
基本要求:
程序结构清析,简单易懂,单个函数的程序行数不超过1行打算干什么,要简单,直接了当,代码精简。尽量使用标准库函数和公共函数。不要随意定义全局变量,尽量使用局部变量可读性第一,效率第二不要随意定义全局变量,尽量使用局部变量基本原则是:变量名=属性+类型+对象描述标识符应当直观且可以拼读,可望文知意,不必进行“解码”。命名规则尽量与所采用的操作系统或开发工具的风格保持一致。程序中不要出现仅靠大小写区分的相似的标识符。例如:
int x, X; // 变量x 与 X 容易混淆
void foo(int x); // 函数foo 与FOO容易混淆
void FOO(float x);
程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解变量的名字应当使用“名词”或者“形容词+名词”。例如:
float value;
float oldValue;
float newValue;常量名全部大写,多个单词用’_’连接
程序注释:
必须写注释
一定要写注释
别忘了写注释
保持注释与代码一致。每个源程序文件,都有文件头说明。示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。//////////////////////////////////////////////////////////////////////
// [文 件 名]: socket.h
// [用 途]: socket连接类
// [作 者]: 刘军强 (Will)
// [日 期]:
// [说 明]:
// [相关文件]:
// [修改历史]:
//
/////////////////////////////////////////////////////////////////////
每个函数,都有函数头说明。 uint32 nBufferSize //nBufferSize=MOBILE_ID_LEN+1
);
主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。常量定义(DEFINE)有相应说明处理过程的每个阶段都有相关注释说明。If(bActive) //激活
{…
}
else //非激活
{…
}
在典型算法前都有注释。全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。_u_rans_errorcode=0; /*全局变量,传送的错误代码,?0~255,
MMI_GetTransErrorCode()中使用到了,0:SUCCESS? 1:list error。*/
注释可以与语句在同一行,也可以在上行。空行和空白字符也是一种特殊注释。一目了然的语句不加注释。注释行数(不包括程序头和函数头说明部份)应占总行数的 1/5 到 1/3 。循环、分支层次不要超过五层。禁止出现两条等价的支路。GOTO语句。用 IF 语句来强调只执行两组语句中的一组。用 CASE 实现多路分支。避免从循环引出多个出口。避免不必要的分支程序首先是正确,其次是优美无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。所有变量在调用前必须被初始化。对所有的用户输入,必须进行合法性检查。不要比较浮点数的相等如: 10.0 * 0.1 == 1.0 , 不可靠程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。重复使用的完成相对独立功能的算法或代码应抽象为公共控件或类。公共控件或类应考虑思想,减少外界联系,考虑独立性或封装性。公共控件或类应建立使用模板。CMyMenu::~CMyMenu()
{//下面缩进
for(int i=0; im_nItemCnt; i++)
{//下面缩进
FREE_IMG((m_pItem+i)-pImage);
If(m_num)
{//下面缩进
……
}
FREEIF(m_pItem);
FREE_IMG(m_pRoom);
FREE_IMG(m_pRoomSel); //add by hyx 2007-
您可能关注的文档
- 英语话剧In the library.doc
- 2012海淀区高三第一学期期末英语试题.doc
- 大一上学期口语考试全集.doc
- 常见元素化合物化学反应中英对照.doc
- 2010年12月cet听力原文.doc
- 2013年美密会论文收录目录.doc
- 2010年12月大学英语四级听力解析.doc
- 果蝇杂交实验实验报告.doc
- 2007年4月全国英语语法试题及答案.doc
- 刘燕南:汪曾祺笔下的少年形象.doc
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)