啰嗦几句,关于动机,学习与批评,架构和代码风格
这么多人讨论我的动机.动机甚至超过了我文中实际内容的讨论.无语.
我的动机很简单,就是研究学习,发现问题指出问题.代码开源了就是给人看的,
拿实习生说,我招过实习生,如果产品代码这种样子review我是不会让过的.
至于读代码是应当带着批判还是学习的眼光,我认为都应该有,不可偏废.我曾经读过一些Nunit, Dlinq, JDK, Rails, Spring, Junit, DBUnit, Ibatis, tomcat, STL等的源码,只是部分读过,不可能这些代码都从头到尾读一遍.从中学到很多东西,写了不少笔记,如这篇JDK的读书笔记,
ReentrantLock 代码剖析之ReentrantLock.lock ,
还有这篇阅读rails代码时顺手记下的东西 偷天换日
也发现过一些bug,如vc2005的stl中一个函数的性能不符合规范,给vcsig发信,确认了这个性能bug,
也在jdk1.6的random实现中发现了双检锁的bug,发现已经有人提过,
还在tomcat的代码中开过bug https://issues.apache.org/bugzilla/show_bug.cgi?id=48645 ,
在微软研究院的学术搜索上找过bug一 个实习生名额引发的bug ,
在老赵的帖子里找出的边界问题http://www.cnblogs.com/JeffreyZhao/archive/2009/11/24/problem-of-generating-thumbnail-image.html#1705275,
今天还发现qq2010在双显示屏下副屏不能截图,OneNote2007则没有问题.
我是职业QA,写代码只是副业,找问题是天职,所以会发现这些bug和问题.一向如此,没有特别针对过谁.
关于有人说的要先看架构而不是代码细节.这话如果放在bigtable, map reduce这种规模的应用上是没有问题的.一个小的桌面应用,隐私保护器,就是简单的监测进程的某些特征行为并依据规则进行匹配,在架构上实在没太多可说的.至少从我看到的代码里是可以不谈架构的.当然我没见过世面,没作过什么大项目,架构不是很懂,只好就代码风格来谈了.如果有懂架构的朋友愿意从架构上来分析安全卫士的代码,我是很欢迎的.
我现在的公司和金山没有业务冲突,原来的公司据我理解也没有
posted on 2010-12-02 20:50 Michael Peng 阅读(765) 评论(4) 编辑 收藏 举报