代码大全读书心得

代码大全读书心得

ID:13442372

大小:46.50 KB

页数:6页

时间:2018-07-22

代码大全读书心得_第1页
代码大全读书心得_第2页
代码大全读书心得_第3页
代码大全读书心得_第4页
代码大全读书心得_第5页
资源描述:

《代码大全读书心得》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、代码大全读书心得还记得大学三年级的时候就在一位师兄那见到了《代码大全》,当时师兄就向我着力推荐,说它是一本值得收藏并精读的好书,它是一本百科全书式的帮助我们提高编程质量的优秀IT书籍,书中介绍了大量的提高代码质量的实实在在的技术和诀窍。但是由于种种原因,当时并未认真加以注意此书。颇有缘分的是,在此次民生银行的培训课程上,方总也着重推荐起了这本书。方总是JAVA界的重量级人物,什么书能值得他如此浓墨重彩地推荐,并要求不认真做读书笔记就不允许入职。想必此书必有过人之处,于是回来速度购买,并高度期待地阅读起来了。经过1个月左右时间,通读此书下来,确实受益匪浅,感受颇多。此书英文名叫:codecom

2、plete,诚如书中译序所说,这本书讲的正是为了到达“编码完成”这一重要里程碑所需的软件构建技术,确切地说,就是如何编写高质量的代码。高质量的代码既可以说是一个节省成本的问题,也可以说是一个软件安全性的问题。特别是针对金融行业的软件开发者而言,提高软件质量显得尤为重要。为了使我们能够编写出高质量的软件,书中讲述了软件构建的方方面面,详细讨论了源代码的可读性,类和函数命名、变量命名、数据类型和控制结构、代码布局等编程的基本要素,也讨论了防御式编程、表驱动法、协同构建、开发者测试、性能优化等有效的开发实践方法。同时书中展示了大量高质量的代码作为示例,同时也有低质量的代码来做比较。这对于已经有一定

3、的编程基础,同时希望能够编写出更加高质量高水平的代码的我来说,无疑指明了努力的方向以及实践的标准指南。本书章节甚多,此篇心得就不按照《项目经理案头手册》的心得那样做一个通篇心得阐述,而是就在阅读过程中有深刻体会的几个问题进行记录:第一DefensiveProgramming防御式编程主要谈谈防止程序免遭非法输入数据的破坏和断言防止程序被非法参数破坏已经是一个很古老的问题了,比较多遇到的是SQL注入。我觉得在防御非法数据方面Discuz!系列的产品都做得不错,或者说是开源的一些Web软件。似乎很少报出可利用的注入漏洞。反而是商业软件却经常有内存溢出等被利用的问题。本节的代码大全指出,通常有三种

4、方法来处理进来垃圾的情况:1.检查所有来源于外部的数据的值2.检查子程序所有输入参数的值3.决定如何处理错误的输入数据在我写程序的时候我比较注意对外部数据的检查,但对于内部数据却总是疏于校验。防御式编程是提高软件质量技术的有益辅助手段。使用迭代式设计、编码前先写伪代码、写代码前先写测试用例及底层设计检查等活动,都有助于防止引入错误。 Today’sTopic2:Assertions(8.2)今日主题2:断言(8.2)断言是什么?所谓的“断言”就是指开发期间使用的、让程序运行时进行自检的代码。通俗的说就是一个过程或者一个函数是否达到预期目的,达到了预期目的就返回True否则就是False。今天

5、阅读之前并不知道什么是断言,今天算是给了个定义。对于大型的复杂程序或者可靠性要求较高的程序来说,断言是非常重要的,它能帮助程序员排查出错误。BuildingYourOwnAssertionMechanism建立你自己的断言机制就我目前所学习过的语言来说基本上都支持断言,如:VB、PHP、C++等。GuidelinesforUsingAssertions使用断言的指导建议1.用错误处理代码处理预期会发生的情况,用断言来处理绝对不应该发生的情况。2.不要把需要执行的代码放到断言中。(编译器可能会将这些代码排除在外而不去编译它)3.用断言来注释并验证前后条件4.应当先使用断言在进行错误处理第二高质

6、量的子程序http://life.dabai.org/2008/04/03/232.dabai第三变量名的力量名不正则言不顺“为变量命名”恐怕是编程中最普通的一项活动,一般介绍编程风格的书都会用几页的篇幅给出一些好的建议[KP99,Section1.1],而《代码大全》用了整整一章30多页的篇幅(第11章)来讨论变量的命名,另外第7.3节专门讨论子程序的命名,第6.2节讨论了类的命名。如果变量、子程序和类型命名得当,代码本身就能用作程序的文档,可以减少注释和外部文档(第32.2节)。变量名为变量命名时最重要的考虑事项是,该名字要完全、准确地描述出该变量所代表的事物。currentDate和t

7、odaysDate都是很好的名字,因为它们都完全而且准确地描述出了“当前日期”这一概念。事实上,这两个名字都用了非常直白的词。程序员们有时候会忽视这些普通词语,而它们往往却是最明确的。cd和c是很糟的命名,因为它们太短,同时又不具有描述性。current也很糟,因为它并没有告诉你是当前的什么。date看上去不错,但经过最后推敲它也只是个坏名字,因为这里所说的日期并不是所有的日期均可,而只是特指当前日期;而da

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。