《高质量C++C编程指南》读者回信-china-pub网上书店.docVIP

《高质量C++C编程指南》读者回信-china-pub网上书店.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《高质量C++C编程指南》读者回信-china-pub网上书店.doc

《高质量C++/C编程指南》读者回信 林锐: 你好!久闻大名,未能一见,甚是遗憾。 拜读大作《高质量C/C++编程指南》收获很多,获益匪浅。 我现在在SRD 3G项目组工作,工作的主要内容也是软件工程方面,而且我本人对软件工程有很大的兴趣,也看过很多的资料和一些实践经验,希望就你的大作中的一些问题和你讨论讨论,望不吝赐教。 1.《高质量C/C++编程指南》P11提到 每个C++/C程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。 我个人认为这样的说法不是很准确。因为一个程序应该是完成一个具体功能的单元,而不是学校中为了完成一个简单算法的作业,在实际的工作,一个程序包含三百个文件也是很正常的,所以每个C++/C程序通常分为两个文件改为C/C++程序通常包括两类文件。但是还是需要提一下make文件。 2.版权和版本的声明应该包含修改的纪录和主要涉及的功能。 3.对于inline函数不能一棒子打死。 ? 【建议1-2-1】头文件中只存放“声明”而不存放“定义” 在C++ 语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数。这虽然会带来书写上的方便,但却造成了风格不一致,弊大于利。建议将成员函数的定义与声明分开,不论该函数体有多么小。 inline函数是会影响程序风格的一致性,但是它可以很高的提高效率,因为他的参数调用不是在堆栈中完成的,而是在寄存器中完成的(经过编译器优化过之后),所以,对于那些大量被调用,但是函数体不大的函数,使用内嵌函数不失为一个很好的方法。当然是牺牲了部分可移植性。 4.头文件的作用 头文件的作用除了在贵文中提到的2个作用外,还有一个重要的作用就是使程序的结构更加清晰合理,增加了可读性和可维护性。 5.《高质量C/C++编程指南》P19提到 【规则2-5-1】代码行最大长度宜控制在70至80个字符以内。代码行不要过长,否则眼睛看不过来,也不便于打印。 对于一些自动生成的代码,可以不做这样的规定。有些自动编码工具生成的代码的风格就是很差的,可读性也很差,根本不可能对其进行手工修改,只有通过自动编码工具进行修改。 6.《高质量C/C++编程指南》P19提到 【规则2-5-2】长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。 在Code Complete对分行的说法是: 使续行明显。有时必须要把一个语句拆成两句写,原因可能是一个语句太长而一个标准行 内无法装下,或把什么都放在一行里显得很不合理。这种情况下,放在第一行中的那部分要清 清楚楚地表明它仅是一个语句的一部分。断句最好的方法是若第一行部分独立出来则它有明显 的语法错误。 while( PathName[StartPath + Pos ] ; ) and --and 表示这个语句不完整 ( ( StartPath + Pos ) = length (PathName ))do … TotalBill := TotalBill + CustomerPurchases [ CustomerID ]+ --表示这个语句不完整 SalesTax( CustomerPurchases[ CustomerID ] ) ; … DrawLine(Window.North , Window.South , Window.East , Window.west, --表示这个语句不完整 CurrentWidth,CurrentAttribute ) ; 除了能告诉读者这个第一行部分不是一个完整的句子外,这种断句的方法也可避免在修 改时出错,如果你把续行部分去掉了,那么第一行看起来不仅仅是一个忘了括号或分号的问 题,它是缺成份。 我觉得这样的分行方法要更好一点。而且在分行的同时要注意缩近。 先写到这里,以上意见供你参考。祝工作愉快! Best Regard 左礁 ============================================ Tel: 86-21ext.365 Fax: 86-21 Email: zuojiao@ linrui,您好! 我是某公司做嵌入式程序的软件员,读了您编写的《高质量C++/C编程指南》,收获甚大。我觉得您说的真是切中要害,经验之谈!从这篇文章中我真正认识到了自己很大的缺点和不足。感谢你写了这么好的篇章! 请强附录B的答案email给我,谢谢! 一直困扰我的问题就是编程思想,我需要阅读哪些方面的书

文档评论(0)

wendang_12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档