关于阅读&理解源代码的思考_Android技术内幕书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Android技术内幕 > 关于阅读&理解源代码的思考
丸子(^.^)v Android技术内幕 的书评 发表时间:2011-09-11 15:09:28

关于阅读&理解源代码的思考

之前在网上搜了一下, 貌似是第一本对android源代码进行剖析的书, 不论国内还是国外, 所以对这本书还是带着一定期望的~ 不得不承认, 其实这本书我并没有读完, 是在csdn上下了第二章跟第三章的样本, 就这么对全书做评论也许稍微有点冒失, 但就像很多前人总结的 有些书看几章就可以判断到底要不要花时间去读完鸟~

首先从讲述的风格。 一边读一遍就让我不由自主滴回忆起大学课堂里那几个埋头念幻灯片的老师。 真的是从开学第一堂课念到考试前的复习课, 听讲课没有任何悬念, 或者要是在课前能下到幻灯片基本就不用去~ 我意思 他们只会读幻灯片, 甚至连点名册都不会读>_< 线性的输入数据, 大脑是很难记住的~ 另外照读幻灯片,很多地方是讲不清楚的, 要把什么都讲清楚, 那书得多厚了呀~ 有个体会就是, 一般国外人写的书动不动可以很厚, 国内人就很少写什么大部头, 但是看国外人写的就很舒服, 看什么都简单看什么都懂 一路看下来~ 看国内人写的就是各种 易知 我们得到 等等等等让人看了就头大~ 大脑是以图像来接受知识的, 所以字面的表述明显没有图形表述让人印象深刻又容易理解~ 而这本书, 就我看过这两章看来, 基本没什么图。

从内容安排上, 第二章讲内存, 第三章讲binder。 类似莱昂氏那样 贴一段代码然后讲解一段。 不同的是还不是逐行, 是取关键的回调函数…… 其实像讲操作系统这样的, 我更喜欢的风格是 自己动手写操作系统 或者hack reload那样的~ 让你每学一点, 你都明确知道你学的东西可以用来干嘛, 可以做出些什么。 这样即时的成就感能够让你保持高昂的兴趣, 坚持下去。 感觉出来以后越来越不能接受那种 看了很多书, 懂了很多但是什么也不做, 或者什么都没做还自个儿在那里毫无压力的态度了~ 我们需要产品, 我们需要动力 we are not here to read books or papers, we are here to code and ship something.

看这两章书给我最大的感想是, 读代码的角度和方法真的很重要, 值得专门开一门课来学~ 其实我个人一直认为在计算机科学的训练上, 有一项技能很重要但是大陆几乎所有的计算机学院 软件学院都没有教到这门课, 阅读源代码~ 尤其是大规模的源代码~ 如何快速取其概貌 关键模块得其精义 又不至于陷入在一望无际的code里。 毕业以后什么都靠自己学的, 如果要从源代码里学习技术那读源代码的水平直接决定了你的潜力呐~ 个人体会是 在大学期间也读过源代码, 不过都是规模没那么大的, 类似academic demo那样的, 然后培养起这么一种自信, 源代码是可以像读小说那样, 就这么生用眼一行一行从头读到尾的。 在出来以后做毕业论文, 一上来就是读一个数据挖掘引擎的源代码~ 好吧, 就这样拼了命我还是可以做得下去, 虽然成绩不是太好~ 然后到自己写数据管理系统, 因为每一行代码都是自己亲手敲的, 所以即便工作量更大了, 感觉也还好, 到硕士论文的时候看MPI PVFS的源代码头就大了~ 拿人家高手写的C代码, 注释很少很少的 直接看到头大~ 结果是一直在读源代码什么都没做出来。 其他连带的负面效果我就不多说了~ 直到我接触到 diomidis 写的 代码阅读方法与实践, 直到我看了python源码解析里的作者自传, 我才意识到之前有个多大的误区…… 具体代码该怎么读这里就不细谈了, 不然好像是另外一本书的书评~

嗯~ 就这样吧~

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“关于阅读&理解源代码的思考”的回应

xyl 2012-01-14 21:57:54

确实,一个大规模的开源程序,在文档缺乏的情况下,通过阅读代码来了解,真是一件痛苦的事情。方法、工具都很重要。
我想到了一些,基础知识(算法,语法, posix函数使用),uml工具逆向生产类图;熟悉设计模式,加速理解代码;如果能建立调试环境,动态debug下;

Yummy 2011-12-20 23:18:52

另外一本书是哪本书?diomidis 写的 代码阅读方法与实践?

丸子(^.^)v 2011-12-15 14:43:36

貌似最后一句话讲得很清楚了= = 具体源代码该怎么读是另外一本书的书评 这个问题并不能从读这本书中找到答案~ 那本书的书评我一直想写来着 一边工作就总觉得具体实践起来需要修正那样 另外最近忙一些其他事就一直没写 你要有什么见解可以写粗来 我们再交流嘛^_^

huazi 2011-12-15 14:24:35

您想要表达或者想聊聊怎么读源代码的,怎么指出问题以后却又没有下文了?还是说你也还没有找到方法,或是没有自己的见解?