- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章程序代码的文档化 C++/C编程规范 ——帮助程序员一次性编写出高质量的程序 参考《高质量C/C++编程》 目录 0. 编程老手和高手的误区 1. 程序的版式 2. 命名规则 3. 表达式和基本语句 4. 函数设计 5. 内存管理 6. C++/C试题与答案,代码检查表 引子——“真正”的程序员 (1)??? 真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让领导提心吊胆。 (2)??? 真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。 (3)??? 真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。 (4)??? 真正的程序员不画流程图,原始人和文盲才会干这事。 (5)??? 真正的程序员不看参考手册,新手和胆小鬼才会看。 (6)??? 真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。 (7)??? 真正的程序员认为自己比用户更明白用户需要什么。 (8)??? 真正的程序员不接受团队开发的理念,除非他自己是头头。 (9)??? 真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个30小时的调试改错。 (10)真正的程序员不会在上午9:00到下午5:00之间工作,如果你看到他在上午9:00工作,这表明他从昨晚一直干到现在。 引子——每一个小函数都需要考虑: 面试题:strcpy的代码。 一位“高手”面对微软资深工程师的面试 (1)编程风格; (2)出错处理; (3)算法复杂度分析(用于提高性能) 1.程序的版式——代码规范 1)文件结构 版权和版本 头文件的结构 头文件的作用 目录结构 include src 2) 版式 a. 版权和版本的声明 1.1 版权和版本的声明——位于头文件和定义文件的开头 (1)版权信息。 (2)文件名称,标识符,摘要 (3)当前版本号,作者 /修改者,完成日期。 (4)版本历史信息。 b.头文件的结构 c. 头文件的作用 通过头文件来调用库功能。 出于安全的考虑: 在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。 用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。 2)程序的版式 程序的版式?程序的书法?一目了然 1)适时加空行: 不浪费内存——别不舍得用! 每个类声明之后、每个函数定义结束之后加空行 2)代码:一行一句 易读、便于设断点测试 例 3)用空格分隔 关键字后、二元运算符后要留空格 一元运算符不留空 函数名后() [] ?前后不用空格 例 4)注意{ }对齐 例 5)长行拆分 一行控制在70至80个字符以内 ,便于观看、打印 6)注释的使用 例: 7) 类的定义 先操作再数据 例 例:一行一句 例:用空格分隔,提高可读性 例:对齐的两种方式 例:注释 注释通常用于: (1)版本、版权声明; (2)函数接口说明; (3)重要的代码行或段落提示。 虽然注释有助于理解代码,但注意不可过多使用注释 例:类的定义 你的习惯是什么? 先数据? 先定义操作? 2. 命名规则 机构内部一致即可(一般原则:) 直观拼读,可望文知意,不必“解码”。 名字的长度:min-length max-information 原则 与操作系统和开发工具的风格保持一致 不出现仅靠大小写区分的相似的标识符 不出现标识符完全相同的局部变量和全局变量 变量名:“名词”或“形容词+名词” 全局函数名字:“动词”或者“动词+名词”(动宾词组)。 类的成员函数应只用“动词”,被省略掉的名词就是对象本身。 用反义词组命名具有互斥意义的变量或相反动作的函数 避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号 简单的Windows应用程序命名规则 【1】类名和函数名用大写字母开头 【2】变量和参数用小写字母开头 【3】常量全用大写的字母,下划线分割单词。 【4】静态变量加前缀s_(表示static)。 【5】全局变量前加前缀g_(表global) 【6】类的数据成员加前缀m_(表示member),这样可以避免数据成员与成员函数的参数同名。 【1】类名和函数名用大写字母开头的单词组合而成。 例如: class Node; // 类名 class LeafNode; // 类名 void Draw(void); // 函数名
您可能关注的文档
最近下载
- 24J331《地沟及盖板》(替代02J331).pdf VIP
- kb第二版资料(英语)030 KB4 Unit8-1.pptx VIP
- 《A-Million-Dreams》合唱谱SATB钢琴伴奏谱.pdf VIP
- 北京现代-悦纳-产品使用说明书-1.4L 两驱 五座手动青春版 -BH7140UMV-悦纳产品使用说明书.pdf VIP
- 医学继续教育管理制度.pdf VIP
- 剑桥国际英语Unit 8 Book 4.ppt VIP
- 护儿周全童享健康—降低新生儿低血糖发生率.pptx VIP
- 智能智能化脑机接口设备考核试卷.docx VIP
- 医院安全消防制度.docx VIP
- 电动叉车充电操作规程.pptx
文档评论(0)