- 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++/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)算法复杂度分析(用于提高性能) 引子——每一个小函数都需要考虑: ?char?*?strcpy(char?*?strDest,const?char?*?strSrc) ????????{ ????????????????if?((strDest==NULL)||(strSrc==NULL))?//[1] ????????????????????????throw?Invalid?argument(s);?//[2] ????????????????char?*?strDestCopy=strDest;??//[3] ????????????????while?((*strDest++=*strSrc++)!=\0);?//[4] ????????????????return?strDestCopy; ????????} ?? 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 原则 与操作系统和开发工具的风格保持一致 不出现仅靠大小写区分的相似的标识符 不出现标识符完全相同的局部变量和全局变量 变量名:“名词”或“形容词+名词” 全局函数名字:“动词”或者“动词+名词”(动宾词组)。 类的成员函数应只用“
您可能关注的文档
最近下载
- 自动控制原理(第七版)课后习题答案解析.pdf
- 事件与概率(古典概率、条件概率、全概率公式、贝叶斯公式)小题综合解析- 十年(2015-2024)高考真题数学分项汇编(全国).pdf VIP
- (2025)小学生诗词大会竞赛试题及标准答案.docx VIP
- 临建工程施工组织设计.docx VIP
- 儿童吉兰-巴雷综合征谱系疾病与抗糖脂抗体相关性研究进展 .pdf VIP
- 2025年钛铁项目建设总纲及方案.docx
- AB-罗克韦尔PowerFlex755变频器操作说明.pdf
- 幼儿园小班科学活动《颜色变变变》含课件.pptx VIP
- 2025诗词大会精选100题题库(含答案).docx VIP
- 小学诗词大会精选100题题库(含答案).docx VIP
文档评论(0)