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 ...
随机推荐
- tomcat 支持https
HTTP是平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 这些隐私数据能加密传输,于是网景公司设计了SSL(Se ...
- tableview 分割线置最左边的解决方法
首先在viewDidLoad方法加入以下代码: if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [se ...
- STL set容器添加结构体并排序
#include <iostream> #include <string> #include <cstring> //strcpy #include <cst ...
- ESP8266固件修改可以控制多个IO方法
之前在论坛上找到了一个通过ESP8266可以控制GPIO0的固件和app,但是自己做的家庭影音灯光系统是需要控制多个IO从而控制STM32.通过观看大明的视频,了解了GPIO的控制方法. 在固件的ap ...
- 搭建lamp环境
虚拟机始终是虚拟机,还是linux用起来舒服得多.话不多说,回到我们的老本行,linux下进行lamp环境搭建吧. 一.安装 1.Apache sudo apt-get install apache2 ...
- DataTable 导出Excel 下载 (NPOI)
public class ExcelHelper { public void DownLoadExcelNew(System.Data.DataTable data, Hashtable h, ...
- python代码风格规范
类注释模板: :: class AnotherClass: """ 类注释 """ def method(self, arg1, arg2, ...
- 让WordPress的作者在后台只能看到自己的文章
今天需要对WordPress后台进行调整,目的是为了只能让当前用户看见自己所发表的文章,而WordPress默认是登陆用户可以看到所有用户发表的文章. WordPress中的用户角色分的比较详细,作者 ...
- Gson解析复杂JSON对象
例如以下格式JSON: 建立对应的Java对象,注意内部类要定义成静态的 public class HResult { public String total; public String recor ...
- 如何允许外网可以连接mysql数据库
1.首先检查mysql所在服务器的防火墙,如果限制了外网对3306端口的连接,那么放开限制Linux服务器中执行 iptables -L 可以查看当前的防火墙规则iptables -F 可以清 ...