-
答案 1:
(前面有人提到了 Redis、Lua 和 nginx,这些我也推荐)读代码可能有两种原因,一是对这个东西某处不满意想改,二是想学习其中的设计实现思路,前者动力更直接一些,如 @陆亦斌 所说,后者则不好选,因为纯粹泛泛地看跟你实际环境关系不大的代码,其实不太容易学到东西。而且现代软件设计其实也充满了许多妥协和折衷,大家最常用的软件,往往不是代码最干净的,而是做了许多妥协折衷的。比如最明显的有 Linux Kernel,有很多风格不一致的代码 (但这并不减弱它的学习价值);mplayer 的代码是我见过的最丑陋但又非常实用的,在这样的代码基础上为啥能够活跃发展到今天,也很值得研究;vim 代码打满了各种 #ifdef,你看了也会很惊讶为啥一个人能维护如此错综复杂的代码这么多年。我们有句老话,叫做水至清则无鱼,软件设计其实很多时候是在受限的条件下解决问题的本事。Beautiful Code [1] 介绍了很多精彩的代码,Beautiful Architecture [2] 介绍了很多值得学习的架构。下面还可以补充一些:git
FreeType
fontconfig
cairo
NetBSD 的用户空间代码
DTrace
WebKit
Mac OS X 的 launchd
一个操作系统内核
一个编译器
一个解释器
一个数据库
一个 Web 服务器
一个 Web 浏览器
一个编辑器
-
答案 2:
如果对erlang感兴趣,想从代码角度熟悉下dynamo,riak的代码值得一读 -
答案 3:
个人感觉redis和lua的代码都不错.据说nginx也很好. -
答案 4:
不限语言的话,Minix 值得一读。无论如何,坦尼鲍姆(Andrew S. Tanenbaum)那几本讲操作系统的书籍应该读一下。对源码有大量的注解。 -
答案 5:
只看过c的开源代码,这里最推荐nginx和lua,他们不管是组织,风格还是性能,都可以说是登峰造极了。而且代码都不是怎么长,特别lua,只有几万行代码。话说最好的代码,一般来说开发者都是很少的,或者说只有一个人的。 -
答案 6:
postfix 的代码很干净漂亮; Mozilla 的代码因为群体太大所以很混乱了但是结构还清楚; Linux 的代码质量远不如 FreeBSD; apache 其实也很乱; reactOS 的代码值得一读; 应该还有不少, 只是想不起来了, 想起来的时候再来加吧... -
答案 7:
你的工作和技术兴趣是什么?以此为方向去读相关领域中最优秀的开源产品的代码吧。比如搜索领域的经典项目Lucene的代码很值得一读。如果要用到一个新的开源产品,我都会扫一边它的核心代码。 -
答案 8:
MySQL源码和Apache的源码都是值得阅读的 -
答案 9:
如果你是java工程师,spring的源码一定要读!个人感觉可以让你上一个档次! -
答案 10:
有些开源软件的代码很乱,比如net-snmp,当年看疯了。现在看MySQL的,组织的也不好。反而个人主导项目的代码nice一点,比如redis,nginx。 -
答案 11:
Lua的代码很好。但是问题也是太好,太干净。就Lua要解决的问题来说,这是很好的:有良好边界的纯符号问题或者纯策略配置(说白了,前者就是数学,后者就是胶水)。不过我推荐看脏一点的代码,也别太脏。Linux kernel就行。 -
答案 12:
Lua, Python, Nginx..代码有序结构良好,值得一看恩 -
答案 13:
java方面的如下:struts,spring,acegi,tomcat,java自身的源代码学习以上代码,对WEB开发应该很有帮助!android平台提供的源代码.javascript:我只部分学习过jquery,protype -
答案 14:
别忘了unix
你认为哪个项目的源代码最值得阅读?
2012-01-19 18:17:18 来源: 点击:
相关热词搜索:
上一篇:有没有符合 Windows XP 习惯的 Windows 7 资源管理器替代品?
下一篇:知乎的问题回答排序如何避免马太效应?