您现在的位置:首页 --> 查看专题: 源代码
谁都知道.NET(的大部分组件)是不开源的,但是我不止在一个场合不止一次地强调过,“不开源”不代表你没法看代码,不代表你没法知道里面发生了什么。这里我不是在说.NET Reflector或是ILSpy这类反编译工具,当然它们在平时开发中也起到了很大的作用,不过很多时候更直接的方式便是阅读代码本身,尤其是当你像我一样时不时要“抄”点代码的时候。由于最近我在Tmc中“大张旗鼓”地使用.NET中BCL的代码,因此也再次强调一下这部分经验。
如果你好几个月不关注某个开源项目的源代码了,当再次需要研究代码时,
分析文档是非常有用的,对照代码和分析文档可以让你快速恢复到当初对代码的理解水平,
如果没有分析文档,通常又会浪费大量时间再重做一次。
以下两个例子就是我在分析HBase的HMaster和HRegionServer的启动流程时写的原始分析文档片断,
会有一些TODO或错误或过时的地方,因为这是个在研究过程中不断完善的文档,
并不是最终的,也没有终极文档,因为开源项目的代码一直在变动。
前阵子解决一个问题的时候,差点以为是我们自己在 HTML 代码中输出的一段信息有问题,结果发现,Chrome 的 View Source Code 竟然会重新发送一个请求!有史以来,所有的浏览器从来没有过这样天才的设计。大家都是老老实实,既然你让我显示源代码,那我就直接给你把正在看的这个页面的源代码显示出来。没有人想过竟然可以重新发起一个请求,去拿“纯洁的”源代码。这是革命性的!Chrome 你做到了!早在2008年,就已经有人提出这个 bug - View source forces page reload. 中间有人将之标记过 Fixed,但是世界末日快来了,Chrome 的稳定版本已经飚到18了,市场份额已经远超 Firefox 了,实际上这个 bug 仍然存在。我的天啊,究竟是什么样的设计,导致解决这样一个问题这么难?
memcache是什么说略过,大家都懂。这篇文章主要分析memcache的网络处理,memcache的网络处理是基于libevent的库写的,下面依据源代码来一步一步讲解。
很多人问我如何看源代码?是不是我在看源代码这方面特别有天赋? 其实不是的,我也只是个普通人,跟大伙没啥分别,只不过我没有别的特别爱好,一有空时,不是写自己的代码就是看别人的代码,我在看源代码时比较有耐心,纯粹就是兴趣驱动,或者说是一种好奇心。 当然,我不会随随便便拿起一个开源项目就看,而是经过一定了解后才决定看它的源代码的,一旦决定要看了,我至少要把这个...
[ 共5篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [56] Oracle MTS模式下 进程地址与会话信
- [56] IOS安全–浅谈关于IOS加固的几种方法
- [55] 如何拿下简短的域名
- [54] android 开发入门
- [54] 图书馆的世界纪录
- [53] Go Reflect 性能
- [50] 【社会化设计】自我(self)部分――欢迎区
- [50] 读书笔记-壹百度:百度十年千倍的29条法则
- [39] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑
赞助商广告