代码大全(Code Complete)-- 目录和关键点

这本书几乎占据所有“大神”推荐书单的前三甲,最主要的原因是这本书不是针对某一种语言,而更像是所有程序员应该遵守的“交规”。就像你可以在驾校开着车子绕圈,但是在驾校学会开车以后,在上路之前你还得把交规背熟,不然你就是“马路杀手”。写程序也一样,你如果不遵守写程序的“交规”,就会在你写的程序里横冲直撞,把零件散落到程序的所有地方,并且影响到团队的其他人的工作。   这本书不用太费脑子,但是在写程序之前最好能过一遍。
摘要由CSDN通过智能技术生成

读后感


《代码大全》是一本指导“代码构建”的书,指导我们如何写出优秀的代码,如何成为优秀的程序员。


这样一本900多页的大部头书,当我们基于既往的编程经验,在读每一个部分,每一个章节的时候,往往会对作者对软件构建的认知和思想,具体的、可操作的解决问题的办法及原因,由衷的理解和认同,感觉“就是应该这么做”。


这像一本定义“规范”的书,我们很容易就理解了,但是想完全按照它定义的来做的时候,大多数却忘记了。


当我囫囵吞枣一样,尽快的挑选着读了一部分的时候,和一些同事谈起这个问题的时候,曾经的看法是,这本书是需要重复读的,可能无法记住所有的规则,但是它对人的影响是潜移默化的。


后来又想,这个“潜移默化”肯定是有的,也是好的,但是仅仅靠“潜移默化”,可能还是处于一个低层次。


当我们无法准确讲出规范的时候,怎么能信心十足的让它指导我们的工作?


当团队协作的时候,无法用对规范的准确描述,用引经据典的出处,说服别人,如何在协作中教育别人,提高团队水平?


所以,还是需要领会,并记住。那么,如何做到这一点呢?


首先,思考一下,为什么那么易忘,除了重复度不够之外,更重要的原因似乎是方法出了问题。读了很多个章节(软件构建中的思想和规则),也就是在《代码大全》的世界里,有了很多个点,但没有把这些点从宏观上串起来,也就是没有形成面,所谓“皮之不存,毛将焉附”,没有骨架,血肉是附着不上去的,特别容易就掉下来。


所以,需要从宏观上,从整体上,理解、记住《代码大全》对于软件构建所定义的骨架,然后把每个章节的血肉附着上去,才能结实的组装起来,才不容易忘记。


这是一本值得没事的时候,就翻翻的书,技术的浪潮汹涌先前,编程的技法变幻莫测,有些书可以在非常非常长的时间内指导我们的工作,不褪色,《代码大全》就是这样一本书。


年轻时学过很多编程语言,大学里的Turbo C,工作中开始的ASP、VB、DELPHI、C++ Builder,到后来相当长的时间里使用C#,再到近几年使用Java,学习的Ruby,一直在变换着编程的技法,不是没有遇到过高人,实在是自己的悟性太慢,没有领会编程的真谛,并把大把的青春浪费在游戏上,浪费在编程无关的方面。


编程的技法,固然重要,需要熟练,并能快速解决问题;但编程真正重要的东西,是思想和境界,是数据结构,是并发,之后可以是基础框架;编程的进步,来源于多写高质量的代码,最好能参与开源工程并贡献代码,也来源于多总结,比如写技术文章。


Java生态,我们可以看这样几本书:《Java编程思想》、《深入理解Java虚拟机》、《Spring3.0企业应用开发指南》、《Spring Internals》、《Java与模式》,并熟练使用Linux,Java容器,Java IDE工具;看书的过程,学习的过程,都不是一蹴而就的,要有足够的耐心,投入充足的时间,三年有小成,五年可以进入专家行列。所以,在这么长的时间里,一定是自驱动的,兴趣驱动的,没有兴趣,是很难很难持续这么长时间的。


骨架


《代码大全》全书900多页,分为5个部分,35个章节。


第一部分,“打好基础”


分为4个章节,分别介绍了软件构建在软件开发中的地位,用现实中比较容易理解的问题类比软件研发(目的是更容易理解),前期充分准备的重要和必要性,如何对软件构建使用的语言、规范、框架等进行决策。


第二部分,“创建高质量的代码”


基础打好了(需求、产品、架构),开始进入软件构建的世界,从设计、类、子程序、编程方法角度,告诉我们如何创造高质量的代码。

第5章:软件构建中得设计;第6章:可以工作的类;第7章:高质量的子程序;第8章:防御式编程;第9章:伪代码编程过程。


第三部分,变量


从整体角度领会如何创建高质量的代码之后,开始进入构建的细节,首先从变量开始。

第10章:使用变量的一般事项,告诉我们怎么用变量,比如初始化、作用域等;

第11章:变量名的力量,本章是变量命名规范,告诉我们怎么对变量命名;

第12章:基本数据类型;

第13章:不常见的数据类型;


大部分公司的“编程规范”,都会对变量名进行部分约束,如果和本书冲突,应该先按照公司当前规定的来执行,并逐步推进成最好的方式。


第四部分,语句


组织语句,贯穿着构建的过程,这一部分先略过。

第14章:组织直线型代码;

第15章:使用条件语句;

第16章:控制循环;

第17章:不常见的控制结构;

第18章:表驱动法;

第19章:一般控制问题。


第五部分,代码改善


代码的改善,是一个贯穿整个软件生命周期的过程。开发者测试、调试、重构、调整,都是很必要的技法。


第20章:软件质量概述;

第21章:协同构建,本章描述的结对构建,可以仅当做一种思想,不具备现实操作性;

第22章:开发者测试;

第23章:调试;

第24章:重构;

第25章:代码调整策略 ;

第26章:代码调整技术。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值