Code Complete 读后总结和新的扩展阅读计划
Code Complete 读后总结和新的扩展阅读计划
用了一年时间终于将代码大全读完了,在这里做一个简单的总结,并安排下一阶段的扩展阅读计划。
1、选择代码大全作为我程序员职业入门的第一本书,我认为是很正确的。这本书语言生动,擅于用隐喻说明深刻的编程原理,虽然并不是写给新手看的,但作为一个新手,我依然从中学到了很多。
2、这本书有很多一针见血的论述:设计是一个启发式过程;编程的最大难题是解决其复杂性;要深入一种语言编程而不是在一种语言上编程,等等。
3、实践是这本书的核心,它提供了很多Checklist让我可以在工作中去应用其原理。书中有很多学院式的丰富证例和引述,但对我来说最值得学习的是那种扎根于实际开发过程的,在现实主义的约束下追求理想主义的态度,其中的经典,就是模仿柏拉图对话录来讲述注释问题的那一段。
阅读代码大全这边书,我用了一种和以往阅读经验完全不同的方式。我先花了一个月来快速读完了其中文版,在被中文版吸引后,我用了近一年时间来读其英文原版。
我的本意是想一箭双雕,一边学习英文一边学习编程知识,但在这一过程中,我得到了超乎预期的收获。作为一个从小认为自己理解力很强的人,我几乎是第一次享受到了“慢”的乐趣。我重新认识了几个小学老师就教过的道理:
1,一般来说,用10个月读一本书大于用10个月读10本书。
2,读书要做笔记。
3,每天可以只读一点,但要有恒心。
接下来,我要选择新的一本书来做扩展学习。我的选择标准依然是:公认的经典;不直接的应用于当前的工作;不过分依赖具体的语言或框架;适合的难度;可以激发我的兴趣。我初步的选择是计算机程序的构造和解释,这本书是非常经典的教材,虽然使用scheme语言,但这一语言规则简单,只是书中用来阐明编程本质的辅助工具。
我已经花了几天浏览其中文版,非常深刻也非常有趣。但选择它作为下一本阅读材料也有其风险,这本书可能对于我来说过于困难了,其学院式的讲述方式和数学化哲学化的探究过程可能需要大量时间来思考问题、解答习题。可能会出现我越读越晕,最后花了大量时间和精力但没有什么收获的情况。
考虑到我最近会辞职,换新的工作,可能会比较闲。我决定把这一个月的时间投入到这本书上,如果经过尝试,我觉得其深度可以接受,那么接下来的一年我会学习其英文原版。否则,我还需要考察其他的经典书籍。这也是我去做一个“现实的理想主义者”的尝试。
Code Complete 读后总结和新的扩展阅读计划的更多相关文章
- code complete part1
最近在看code complete,学习了一些东西,作为点滴,记录下来. 关于类: 类的接口抽象应该一致 类的接口要可编程,不要对类的使用者做过多的假设.不要出现类似于:A的输入量一定要大于多少小于多 ...
- 重读 code complete 说说代码质量
重读code complete 说说代码质量 2014年的第一篇文章本来计划写些过去一年的总结和新年展望,但是因为还有一些事情要过一阵才能完成,所以姑且不谈这个,说说最近重读code complete ...
- [转] 《高性能HTML5》读后整理的Web性能优化内容
读后感 先说说<高性能HTML5>这本书的读后感吧,个人觉得这本书前两章跟书的标题完全搭不上关系,或者说只能算是讲解了“高性能”这三个字,HTML5完全不见踪影.个人觉得作者应该首先把HT ...
- 《Effective Objective-C 2.0》 读后总结
感觉自己最近提升很慢了.然后去找了一些面试题看看.发现自己自大了.在实际开发中,让我解决bug.编写功能,我有自信可以完成.但是对项目更深层的思考,我却没有.为了能进到自己的目标BAT.也为了让自己更 ...
- 浏览器渲染原理笔记 --《How Browser Work》读后总结
综述 之前使用ExtJS时遇到一个问题:为什么依次设置多个组件的可见性界面会卡顿?在了解HTML的dom操作相关内容的时候也好奇这个东西到底是怎么回事,然后尤其搞不懂CSS和Html分管样式和网页结构 ...
- WiscKey: Separating Keys from Values in SSD-Conscious Storage [读后整理]
WiscKey: Separating Keys from Values in SSD-Conscious Storage WiscKey是一个基于LSM的KV存储引擎,特点是:针对SSD的顺序和随机 ...
- Oracle案例02——ORA-12034: "SCOTT"."USER_TABLE" 上的实体化视图日志比上次刷新后的内容新
最近同事在交接工作时,发现有几个schedule job没有执行成功,我这边给看了下,其中一个是由于数据库迁移,调用dblink的host主机IP在tnsnames中没有变更导致,还有一个是无法视图的 ...
- svn下copy项目后定位到新资源库,产生不同版本号的方法
转载于http://blog.csdn.net/u012990533/article/details/44776465 最近这两天,公司要做国际化的开发,本打算要用struts2内置的i18n拦截器做 ...
- 字符串分隔 ->连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100 ...
随机推荐
- 判别linux机器字节序为大端还是小端
代码如下: #include <iostream> #include <arpa/inet.h> #include <cstdio> using namespace ...
- socket网络编程中的同步,异步,阻塞式,非阻塞式,有何联系与区别?
一.举个打电话的例子: 阻塞 block 是指,你拨通某人的电话,但是此人不在,于是你拿着电话等他回来,其间不能再用电话.同步大概和阻塞差不多. 非阻塞 nonblock 是指,你拨通 ...
- C#界面设计疑问2:panel摆放问题
1.问题1是这样的,网友意思让使用一个按键对应显示一个panel 即,http://zhidao.baidu.com/question/1924974374730559427.html 2.那么我在设 ...
- 新花生壳+tomcat(内网映射,无需设置路由器)建站攻略
说明: 1.适用于内网用户(局域网,校园网,或者公司网等无法更改路由器映射的情况) 2.一共花了8块钱…………心疼.不过如果大家有钱的话,8块钱,少吃一顿麻辣烫就好了~总之,这个适用于测试网站,小访问 ...
- Python爬虫学习:一、相关概念与基础知识
爬虫: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽 ...
- cubieboardtruck安装
1.命令关闭所有led灯 ls /sys/class/leds/*/brightness | xargs -i -n1 echo "echo 0 > {}" | sh 如果需 ...
- 使用POI插件,提取导出excel的工具类
在网站的不同的模块都需要使用到导入导出excel的功能,我们就需要写一个通用的工具类ExcelUtil. 我的思路:首先,导入和导出的Excel的文件格式固定:主标题,二级标题,数据行(姑且就这么叫) ...
- hadoop学习之hadoop完全分布式集群安装
注:本文的主要目的是为了记录自己的学习过程,也方便与大家做交流.转载请注明来自: http://blog.csdn.net/ab198604/article/details/8250461 要想深入的 ...
- 谁在唱衰PC?说出你的理由
在平板电脑的冲击下,PC真的衰落了吗?戴尔消费产品市场副总裁Raymond Wah给出了坚定的回答:“平板电脑没有办法代替PC”. 让他有如此底气做出这一判断的取决于两方面:一方面,PC(了解PC市场 ...
- android中处理XML的方式
http://www.cnblogs.com/zhangdongzi/archive/2011/04/14/2016434.html 放在assets目录 http://www.cnblogs.com ...