对于初学者来说 小型开源项目更容易理解和学习 那么目前有哪些值得学习的小型开源项目?本文收集整理了知乎上网友推荐的一些不错的小型项目 代码基本都在5000行以内 感兴趣的朋友可以研究下~

5461b52185b80

1、SeaJS
Sea.js是一个遵循CommonJS规范的JavaScript模块加载框架 可以实现JavaScript的模块化开发及加载机制。Sea.js 追求简单、自然的代码书写和组织方式 代码非常精简。

2、Koa
Koa 是下一代的 Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和 API 的开发基础。

3、pssh
pssh 提供了并行版本的 OpenSSH 工具 特别适合用来控制有大量机器需要连接的情况 包括并行版本的 ssh、scp、rsync 和kill 命令。该项目是Python写的 代码清晰而简短 数据结构定义的很清楚 看了之后你会称赞的。

4、grep-at-point
在写代码的时候 有时候会需要查看某个函数/类/变量在哪些地方被使用过。该项目用emacs lisp语言写成 可实现在项目目录下 所有指定扩展名的文件中 搜索当前光标所在的单词。

5、compile-make
该项目可实现emacs中一键编译的需求。在项目目录下寻找Makefile文件 并执行make命令进行编译。 语言:emacs lisp;代码行数:19。

6、sigslot
很精简的 signal slot的实现 跨平台。这个源码有2000多行 但是一大半是为了模板适配不同个数的参数的代码 干货不足1000行。
Gtalk源码剖析之:sigslot介绍

7、UCOS
uC/OS II(Micro Control Operation System Two)是一个可以基于 ROM 运行的、可裁减的、抢占式、实时多任务内核 具有高度可移植性 特别适合于微处理器和控制器 是和很多商业操作系统性能相当的实时操作系统(RTOS)。

8、SQLite
SQLite是遵守ACID的关联式数据库管理系统 它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。SQLite亦可以作为桌面数据库使用。

9、thttpd
thttpd 是一个小型的、简单的、可移植的、快速以及安全的HTTP服务器。

10、Boa Webserver
boa是一个小型的web服务器 可以用于多种平台 在嵌入式中比较常见。

11、C4
4个函数实现的c编译器 大约500行。基本上已经比较完备了 可以自己编译自己。

12、GLib
GLib 是一个包含很多有用的 C 程序的开发包 例如树、哈希、列表等。GLib 之前是属于 GTK 工具包的一部分 现在独立出来成为单独项目。

13、tj/co
不到三百行 用于改善 node 异步回调语法。

14、shadowsocks
shadowsocks 是一个基于 python 的轻量级 socks 代理软件(谁用谁知道)。

15、aosabook
这是一本牛书aosabook的续集 500 Lines or Less的源码。里面每一章的代码不超过500行 实现了web服务器、爬虫、OCR等等"大型系统" 每一章由不同领域的大牛完成。看看作者列表 可以说是软件领域的名人堂。

文章出处:http://code.csdn.net/news/2822568